我想编写一个有两个独立的重复警报的应用程序。似乎有两个类可以做到这一点:AlarmManager
和AlarmClock
. 我已经测试过AlarmManager
,但是当 Android 重新启动时,所有警报都会被清除。
我应该使用哪个?
我想编写一个有两个独立的重复警报的应用程序。似乎有两个类可以做到这一点:AlarmManager
和AlarmClock
. 我已经测试过AlarmManager
,但是当 Android 重新启动时,所有警报都会被清除。
我应该使用哪个?
使用 BroadcastReceiver 处理 Android 操作系统启动广播并重新安排您的警报。
AlarmManager服务允许您安排您的应用程序在未来某个时间点运行。当警报响起时,系统会广播已为其注册的 Intent,如果目标应用程序尚未运行,则会自动启动它。
您可能会发现 SO 帖子很有帮助Android 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);
而AlarmClock提供程序包含一个 Intent 操作和附加功能,可用于启动 Activity 以在闹钟应用程序中设置新闹钟。