私のアプリケーションでは、特定の時間帯に定期的なアラームをトリガーして、いくつかの条件をチェックし、必要に応じてユーザーに通知します。Androidは過去に設定されたアラームを処理する方法
私はアラームをスケジュールするには、次のコードを使用しています:
Calendar cal = ...;
...
mAlarmMgr.setInexactRepeating(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(), AlarmManager.INTERVAL_DAY, mAlarmIntent);
(私はaccidentially cal
に間違った日だったので)私は今cal
は、いくつかの日だった場合、アラームがすぐにトリガーされることに気づきました/過去の時間。
2016-09-20 18:00:00
と言い、2016-09-20 17:00:00
のアラームをスケジュールするとしましょう。私はすぐに(またはアラームをスケジュールした後、数秒後に)通知を受けるだろう。 2016-09-20 18:15:00
のように将来のアラームをスケジュールすると、これは起こりません。
だから私の質問は以下のとおりです。
- は逃したアラームに追いつく常にAndroidのでしょうか?
- アラームは毎日再送信される予定です。明日は
17:00:00
でそれを繰り返すのでしょうか、またはそれはアラームが最後にトリガーされたときだったので、それは18:00:00
になりますか?
私が望んでいたことを確認していただきありがとうございます。私はこれを読むことができるドキュメントへのリンクはありますか? –
公式のドキュメントリンクをチェックすると、あなたが望むすべての詳細が表示されます。@ Thorsten Dittmar –
「ブートが完了しました」ブロードキャストを聞くので、アラームが正しく再開されます。 –