【发布时间】:2017-04-23 17:02:12
【问题描述】:
我在我的应用程序中使用 AlarmManager 如下:
alarmManager.setInexactRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis(), AlarmManager.INTERVAL_HALF_DAY, intent);
我希望在每次触发后 12 到 24 小时内触发警报。但是,HTC 设备上的行为非常奇怪:
每次触发警报时,我们都会向我们的服务器发送一个 HTTP 请求。在所有设备上,我们看到随着时间的推移均匀地向服务器发出请求,但在 HTC 设备上,每“轮”10 分钟(XX:10, XX:20, ...)就会出现峰值:
这些尖峰的原因可能是什么?为什么它只会出现在 HTC 设备上?
【问题讨论】:
-
在哪个特定的 API 上?该图代表什么,您的服务器上的 HTTP 请求?
-
@FrédéricLetellier API 级别 24。是的,这些是 HTTP 请求。
-
在应用程序中的哪个时间点安排此警报?
-
@TimCastelijns 仅在重启时(我听 BOOT_COMPLETE)
-
@Ori Wasserman 你取消之前的意图了吗?
标签: android alarmmanager