在一个应用程序中,我必须定期将数据同步到服务器,这发生在 5 分钟的固定间隔(大部分)。
我正在使用set()
/setExact()
取决于 if Build API >= 19
。现在,在大多数情况下,警报会被触发并且可以正常工作,但间歇性(即使在白天)警报不会被触发。
警报管理器被传递一个pendingIntent
用于IntentService
同步工作的。
而且onHandleIntent
我也在运行我的setSchedule()
,它反过来会在 5 分钟后发出警报(与上面相同^)。
使用警报类型RTC_WAKEUP
(直到现在;我最近将其更改为elasped realtime + wakeup
并等待一些测试结果)和每个 30 秒的HTTP connection
和socket timeout
。该设备在 48 小时以上(作为示例)持续时间之间没有重新启动,因为我不会错过任何捕获的数据,只是同步警报以某种方式跳过。
我开始怀疑这是否是一个wakelock
问题:|
有人遇到过 Kitkat 的问题setExact()
吗?AFAIK,它的方式(除了使用 RTC/elasped realtime change)当前的方式不应该跳过警报。