V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
nanvon
V2EX  ›  Android

有没有能够强制 [自动锁屏] 的软件?

  •  
  •   nanvon · 2022-04-14 20:50:56 +08:00 · 4807 次点击
    这是一个创建于 714 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我用的安卓墨水屏阅读器,用得到 App 阅读电子书,这个 App 阅读电子书时,会一直保持亮屏,即使系统已经设置了“五分钟自动息屏”也没用。我的需求是能让我设置的“五分钟自动息屏”全局有效,五分钟未操作屏幕,就自动息屏。朋友们有方案吗?

    PS:我发现很多软件都是这种一直保持亮屏,比如一些视频软件。我不是安卓开发者,我是前端开发,我的猜测是:第三方 App 应该能通过 API 使屏幕一直亮屏,不知道是否是这样?
    10 条回复    2022-04-15 16:25:07 +08:00
    dcty
        1
    dcty  
       2022-04-14 21:17:10 +08:00 via iPhone
    一般软件都会有一个选项叫做 ‘系统设置‘
    nanvon
        2
    nanvon  
    OP
       2022-04-14 21:19:52 +08:00
    @dcty 谢谢提醒,不过我用的这个 得到 APP 确实没有这个设置。
    cxtrinityy
        3
    cxtrinityy  
       2022-04-14 21:30:02 +08:00
    谁是前台服务谁优先, 所以, 是的, api 可以保持屏幕常亮覆盖系统的息屏设置, 不然看个电影不得天天调设置么
    quxinna
        4
    quxinna  
       2022-04-15 00:04:40 +08:00
    华为好像没有
    mgrddsj
        5
    mgrddsj  
       2022-04-15 02:30:38 +08:00   ❤️ 1
    保持亮屏(不锁屏)一般是使用 Android 的 wake lock 权限实现的,这样看视频不会看到一半黑屏。
    你可以通过 appops 来 ignore 掉相关 app 的 wake_lock 权限,会需要用到 adb 。这有几种方法:

    1. 知道对应 app 的包名,而且不抗拒在命令行里操作。
    - 进入 adb shell
    - 执行下面命令,把 "com.android.application" 替换为你想要禁止保持亮屏的应用的包名。
    cmd appops set com.android.application WAKE_LOCK ignore

    2. 带界面的操作方法:
    - 安装 Shizuku 和 权限狗
    - 根据 Shizuku 的提示,要么通过无线 adb 在手机上直接给 Shizuku 授权(需要较新的安卓版本,并且系统没有阉割掉);要么连接电脑后,执行 Shizuku 提供的 adb 指令。
    - 打开权限狗并授予 Shizuku 权限
    - 找到你想要禁止自动亮屏的 app ,把 wake_lock 改为“忽略”即可
    相关截图:
    mingl0280
        6
    mingl0280  
       2022-04-15 04:21:39 +08:00 via Android
    装个 MS Intune (雾)
    nothingistrue
        7
    nothingistrue  
       2022-04-15 12:12:18 +08:00
    正常途径下,没有。亮屏设置当中,前台应用的设置具有最高优先级。系统不会打扰前台应用的亮屏设置,更不会允许外部应用干扰当前应用的亮屏设置。

    正常途径,也好解决,向 APP 反馈让可以自定义亮屏设置。这个改动不难,如果不改,那就是流氓应用,卸载对待。
    yuzhouwww
        8
    yuzhouwww  
       2022-04-15 16:19:09 +08:00
    一个电子书 App 为什么要保持屏幕常亮?
    nanvon
        9
    nanvon  
    OP
       2022-04-15 16:23:17 +08:00
    @mgrddsj 非常感谢你的回答。尽管我尝试了方法 2 ,发现在 得到 APP 内无效。

    我根据你提供的 wake_lock 关键词搜索,发现有好几种使屏幕保持开启状态的方法[https://developer.android.google.cn/training/scheduling/wakelock?hl=zh-cn],我猜测该 APP 没有使用 wake_lock 这种方案。
    目前,我的解决方案是:单独找第三方软件,设置定时关闭屏幕,用的一款叫做 睡了吗 - 睡眠挂机保护 的软件[https://www.coolapk.com/apk/io.alcatraz.afkprotect],设置在 得到 APP 内定时 5 分钟自动关闭屏幕,到 5 分钟时,发出广播,点击该消息可重置定时器。尽管体验差了一点,但是也算解决了这个问题。

    相关资料:
    1 、安卓开发文档-关于管理设备唤醒状态[https://developer.android.google.cn/training/scheduling/wakelock?hl=zh-cn]
    2 、afkprotect 软件[https://www.coolapk.com/apk/io.alcatraz.afkprotect]、[https://github.com/Alcatraz323/afkprotect]
    nanvon
        10
    nanvon  
    OP
       2022-04-15 16:25:07 +08:00
    @yuzhouwww @nothingistrue 该 APP 并没有适配墨水屏,我用的是安卓原版本。以前我和该司产品经理反馈过一些问题,发现很难改变这些。所以只能自己想办法。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   966 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 20:31 · PVG 04:31 · LAX 13:31 · JFK 16:31
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.