带有BroadcastReceiver的AlarmManager - 它是如何工作的?

时间:2013-11-07 22:51:13

标签: android broadcastreceiver alarmmanager alarm boot

我正在尝试创建一个任务计划应用程序,我制作了一个警报应用程序,试图至少学习如何做这个部分。它使用AlarmManager,并在TimePicker选择的时间发出警报。但是当emulator关闭再打开时,它不起作用。

所以我正在尝试使用BroadcastReceiver,但我不理解任何指南......我的意思是我应该设置intent所做的alarm manager BroadcastReciever?或者我可以启动应用程序,然后警报再次存在或者什么?报警如何存储在android?

1 个答案:

答案 0 :(得分:1)

  

但是当模拟器关闭再打开时,它不起作用。

这是正确的行为 - AlarmManager的计划在重新启动时被清除。您需要专门注册才能接收ACTION_BOOT_COMPLETED广播,以便在重新启动后重新建立警报事件。

  

我的意思是我应该设置警报管理器对BroadcastReciever的意图吗?

好吧,如果您使用的是_WAKEUP式警报,那么配方就是使用getBroadcast() PendingIntentAlarmManagerBroadcastReceivera WakefulBroadcastReceiver(并遵循这些说明)或将控制传递给my WakefulIntentService

我有一些使用WakefulIntentServiceWakefulBroadcastRecevier的例子。

  

警报如何存储在android?

AFAIK,它们被保存在核心操作系统进程的内存中,并且不会持久存在。