2 つの独立した繰り返しアラームを持つアプリをプログラムしたいと考えています。これを行うことができるように見える 2 つのクラスがあります:AlarmManager
とAlarmClock
. テストしましAlarmManager
たが、Android を再起動するとすべてのアラームがクリアされます。
どちらを使用する必要がありますか?
2 つの独立した繰り返しアラームを持つアプリをプログラムしたいと考えています。これを行うことができるように見える 2 つのクラスがあります:AlarmManager
とAlarmClock
. テストしましAlarmManager
たが、Android を再起動するとすべてのアラームがクリアされます。
どちらを使用する必要がありますか?
BroadcastReceiver を使用して、Android OS のブート ブロードキャストを処理し、アラームのスケジュールを変更します。
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 アクションとエクストラが含まれています。