例如,如果我们计划每小时触发AlarmManager.setInexactRepeating
不准确的重复闹钟,如果手机处于待机状态4小时然后它被唤醒会发生什么?系统是否为同一PendingIntent
连续发送4个警报,或者只发送一个警报?
编辑:更多关注阅读文档,set(int, long, android.app.PendingIntent)
方法文档说:警报意图带有一个名为Intent.EXTRA_ALARM_COUNT
的int类型的额外数据表示已在此意图广播中累积了多少过去的警报事件。由于手机处于睡眠状态而未送达的重复警报可能在交付时计数大于1。
因此,当手机退出待机状态时,只会发出一个警报,其中包含错误警报的数量。
答案 0 :(得分:1)
更加注意阅读文档,set(int, long, android.app.PendingIntent)
方法文档说:警报意图带有一个名为Intent.EXTRA_ALARM_COUNT
的int类型的额外数据,表示已经累积了多少个过去的警报事件进入这个意图广播。由于手机处于睡眠状态而未送达的重复警报可能在交付时计数大于1。
因此,当手机退出待机状态时,只会发出一个警报,其中包含错误警报的数量。
答案 1 :(得分:0)
这取决于你是否使用 等待这样的意图
PendingIntent pending = PendingIntent.getBroadcast(context, 0, i,
PendingIntent.FLAG_CANCEL_CURRENT);
它不会触发4次,因为它会取消之前的未决意图