1
KINGOD 2020-04-21 14:36:21 +08:00
试试 AlarmManager.setExactAndAllowWhileIdle(int type, long triggerAtMillis, PendingIntent operation)
有些限制,比如平时 1min 只能触发一个,DeviceIdle 模式下 15min 触发一个,等等,可以看下文档。 |
2
treePerson OP @KINGOD
谢谢,将 CountDownTimer 换成 AlarmManager 的思路我也有了,正在研究。很高兴提前获知这是一个值得探索的方向。不过我也看到了许多关于 AlarmManager 不够精确的言论,不知道最终能否成功实现。我的 app 其实对触发次数没有需求,只要一次就可以了,不过对精确性是有需求的。可以简单的理解为闹钟软件,而且不用考虑关机、重启的情况。 另外,目前只在华为的设备上做过测试,不知道厂商对这方面有没有特别设定。下面我会写一个测试 app 试试各种方案。 |
3
helloworldchao 2020-04-21 21:28:19 +08:00 via Android
可以试试在 foreground service 中做这个功能,提高一下 APP 在系统中的权重,减少被限制的情况
|
4
treePerson OP @helloworldchao 不过目前用的就是前台服务
|