如何获得在关机到开机之间传递的警报通知

时间:2011-05-30 04:50:33

标签: android alarmmanager android-pendingintent

您好 我正在开发一个应用程序,我正在使用AlarmManager

问题

当我在特定的日期和时间使用警报管理器设置待处理的意图时,它的工作正常 但是假设我在30-05-2011和上午10:00设置闹钟时间,并假设当前时间是30-05-2011日期和时间09:50 AM 现在在创建待定意图后我关闭了我的设备,并在上午10:01之后我启动了我的设备 那时我希望通知上午10:00报警,但我没有得到它 知道如何在启动手机后获得通知

2 个答案:

答案 0 :(得分:2)

通过AlarmManager,您只能在设备休眠时唤醒它。

要做到这一点 setRepeating(int type,long triggerAtTime,long interval,PendingIntent operation) 或设置(...)

使用RTC_WAKEUP或ELAPSED_REALTIME_WAKEUP

但它不能用于关闭设备。 因此,您应该考虑在数据库中显示警报,以及上次启动应用程序,并计算自上次启动以来错过的警报。

此致 斯特凡

答案 1 :(得分:1)

如果您阅读了AlarmManager API文档页面:

  

当设备处于睡眠状态时,会保留已注册的警报(如果设备在此期间关闭,则可以选择将设备唤醒),但如果设备关闭并重新启动,则会被清除。

作为替代方案,您可以为意图android.intent.action.BOOT_COMPLETED注册广播接收器,并在需要执行操作时检查您的SharedPreferences。

有关广播的详细信息,请参阅此问题:Trying to start a service on boot on Android