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