【发布时间】:2017-09-22 10:18:07
【问题描述】:
我正在设置AlarmManager 来安排本地通知。我尝试了许多不同的解决方案,例如this,但都是徒劳的。
该答案建议我使用setExact() 和setExactAndAllowWhileIdle()
下面是不同版本的api代码示例的方法:
if (Build.VERSION.SDK_INT >= 23) {
alarmManager.setExactAndAllowWhileIdle(AlarmManager.RTC_WAKEUP,
triggerTime, intent);
} else if (Build.VERSION.SDK_INT >= 19) {
alarmManager.setExact(AlarmManager.RTC_WAKEUP, triggerTime, intent);
} else {
alarmManager.set(AlarmManager.RTC_WAKEUP, triggerTime, intent);
}
我正在使用命令adb shell dumpsys alarm 检查设备警报。警报在那里,但没有触发。
Batch{365d942c num=2 start=132037642 end=132037642}:
RTC_WAKEUP #1: Alarm{2f05aef5 type 0 when 1506076080000 com.mominapp.mominapp PRAYER_TIME_NOTIFICATION_ACTION}
tag=*walarm*:PRAYER_TIME_NOTIFICATION_ACTION
type=0 whenElapsed=+35m18s677ms when=2017-09-22 15:28:00
window=0 repeatInterval=0 count=0
operation=PendingIntent{738548a: PendingIntentRecord{297a3afb com.mominapp.mominapp broadcastIntent}}
这表明我的应用程序在 15:28 安排了一个警报,但它并没有被触发。我专门为 OPPO 和 Samsung Devices 面临这个问题。
任何帮助将不胜感激。亲切的问候。
【问题讨论】:
标签: android alarmmanager android-alarms