Java Alarmmanager或Alarmclock

Java Alarmmanager或Alarmclock,java,android,alarmmanager,Java,Android,Alarmmanager,我想编程一个应用程序,有两个独立的,重复报警。有两个类似乎能够做到这一点:AlarmManager和AlarmClock。我已经测试了AlarmManager,但是当Android重新启动时,所有警报都会被清除 我应该使用哪一种?使用BroadcastReceiver处理Android操作系统启动广播并重新安排警报时间。服务允许您安排应用程序在将来某个时间运行。当警报响起时,系统会广播为其注册的意图,如果目标应用程序尚未运行,则会自动启动该应用程序 你可能会发现这篇文章很有帮助 然而,提供程序包

我想编程一个应用程序,有两个独立的,重复报警。有两个类似乎能够做到这一点:
AlarmManager
AlarmClock
。我已经测试了AlarmManager,但是当Android重新启动时,所有警报都会被清除


我应该使用哪一种?

使用BroadcastReceiver处理Android操作系统启动广播并重新安排警报时间。

服务允许您安排应用程序在将来某个时间运行。当警报响起时,系统会广播为其注册的意图,如果目标应用程序尚未运行,则会自动启动该应用程序

你可能会发现这篇文章很有帮助


然而,提供程序包含一个Intent操作和附加功能,可用于启动活动以在闹钟应用程序中设置新闹钟。

是的,我一直在测试。。你觉得闹钟怎么样?你不需要它。我建议的是一种常见的模式,应用程序需要在重新启动后触发警报。谢谢。但是..如果我安排一个警报,例如。。。5分钟,然后我关掉手机2分钟,我如何知道我应该在课堂广播接收器中为设置alarmmanager安排的时间?你可以把时间保留在某个地方,也许在共享参考中。然后,当设备打开时,读取该数据并再次安排报警。
AlarmManager mgr=(AlarmManager)context.getSystemService(Context.ALARM_SERVICE); 
Intent i=new Intent(context, OnAlarmReceiver.class); 
PendingIntent pi=PendingIntent.getBroadcast(context, 0, i, 0);
mgr.setRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP, SystemClock.elapsedRealtime(), PERIOD, pi);