バックグラウンドでサービスを実行しています。
特定の間隔でこのサービスを呼び出したい。
ユーザーが値 10、20、30 を指定した場合、サービスは 10 分、20 分、30 分後に受容的に呼び出す必要があります。
どうすれば上記のことができますか?
バックグラウンドでサービスを実行しています。
特定の間隔でこのサービスを呼び出したい。
ユーザーが値 10、20、30 を指定した場合、サービスは 10 分、20 分、30 分後に受容的に呼び出す必要があります。
どうすれば上記のことができますか?
AlarmManager
が手伝う :)
指定した時間範囲内にアプリケーションのコンポーネントを起動するスケジュールを設定できます
インスタンス化AlarmManager
後の特定の期間に実行される をインスタンス化するには、setRepeating()
メソッドと PERIOD パラメータを に追加して構成しSystemClock.elapsedRealime()
ます。
AlarmManager mgr = (AlarmManager)getSystemService(ALARM_SERVICE);
mgr.setRepeating(AlarmManager.ELAPSED_REALTIME,
SystemClock.elapsedRealtime() + PERIOD, PERIOD, pi); // Here PERIOD is a value specified by you as PendingIntent object
アラームを設定して、特定の間隔でインテントを発生させることができます。アラームが正確な時刻に実行されることが重要でない場合は、不正確なアラームを設定することもできます。