我正在设置AlarmManager
来安排本地通知。我尝试了许多不同的解决方案,如this,但都是徒劳的。
该答案建议我使用setExact()
和setExactAndAllowWhileIdle()
以下不同版本的apis代码示例的方法:
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 和三星 设备来解决此问题。
任何帮助将不胜感激。亲切的问候。
答案 0 :(得分:0)
确保自动重启模式和后台数据已开启?
同样在oppo设备中确保
设置 - 电池 - 其他 - 选择您要保留通知的应用 - 关闭FREEZE BACKGROUND APPS
设置 - 电池低功耗模式必须关闭