0

たとえば、Calendar を使用して午前 7 時に数値をカウントする AlarmManager が設定されました。

しかし、ユーザーは午前 6 時に Android の電源を切り、午前 8 時に電源を入れます。したがって、プログラムはカウントされません。

BOOT COMPLETEDのレシーバーでAlarmManagerをリセットすると、この状況を回避できるとは思いません。

この場合の正確な数の数え方を教えてください。

4

1 に答える 1

1

あなたは少し仕事をしなければならないでしょう。次のアラーム時刻を永久ストレージ (ファイル、共有設定、またはデータベース) に保存します。アラームが発生するたびに、この値を更新します。BOOT_COMPLETED リスナーを設定します。起動完了リスナーが起動したら、現在の時刻を取得し、保存した次のアラームの時刻よりも遅いかどうかを確認します。もしそうなら、あなたはそれを逃しました。そうでない場合は、大丈夫です。

複数のアラームを見逃すことを心配する必要がある場合は、さらに複雑になりますが、考え方は同じです。

于 2013-04-12T03:53:33.637 に答える