1

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

理想情况下,手机应该每分钟左右使用 setAndAllowWhileIdle() 唤醒,拍照,睡觉。每拍x张照片,它会关闭飞行模式,连接到互联网,上传照片,打开飞行模式。

我的问题是,一旦我通过使用“dumpsys deviceidle force-idle”强制手机进入打盹模式,setAndAllowWhileIdle() 就会变得非常不准确。为接下来的 20 秒设置的警报甚至可以在 15 分钟内到达。

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

4

1 回答 1

0

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

解决办法是这样的:“su -c settings put global alarm_manager_constants allow_while_idle_long_time=20000,allow_while_idle_whitelist_duration=30000”

其他的报警设置可以这样修改,你可以通过“dumpsys报警”查看

于 2020-06-20T11:38:30.657 回答