安卓打瞌睡模式管理作为根



我正在使用一个应用程序,如果它具有root访问权限,该应用程序将完全接管手机。应用程序以设定的时间间隔拍摄照片,并将其上传到ftp服务器。它的用例是将旧手机变成安全摄像头,或者一般用于延时摄影。我还在努力节省尽可能多的电量,以便手机可以在带有太阳能USB充电器的偏远地区使用。

理想情况下,手机应该每分钟左右使用setAndAllowWhileIdle((唤醒一次,拍照,进入睡眠状态。每拍摄x张照片后,它将关闭飞行模式,连接到互联网,上传图片,打开飞行模式。

我的问题是,一旦我使用"dumpsys deviceidle force-idle"强制手机进入打瞌睡模式,setAndAllowWhileIdle((就会变得非常不精确。在接下来的 20 秒设置的闹钟甚至可以在 15 分钟内到达。

我想知道是否有任何方法可以将空闲维护窗口设置为我想要的任何间隔,以便我可以在合理的时间收到警报。或者,如果有任何其他方法作为root来获得可靠的警报(可靠的分钟精度(。或者,如果我可以将整个手机暂停一段时间。

好的,所以经过大量的阅读和实验,我找到了神奇的解决方案。这不是我想要的,因为我不能只允许我的应用程序在打瞌睡模式下更频繁地唤醒。我只能在全球范围内更改它,因此所有应用程序都可以做到这一点。但是由于满足我的特定需求,我可以删除所有不需要的应用程序,因此效果很好。

解决方案是这样的:"su -c 设置将全局 alarm_manager_constants allow_while_idle_long_time=20000,allow_while_idle_whitelist_duration=30000">

其他警报设置可以通过这种方式修改,您可以通过执行"dumpsys警报"来查看它们

最新更新