0

2時間に達するまで10分ごとに通知を表示する小さなアプリケーションを作成しようとしています。アラームは停止するはずです。使用setRepeat()するとうまく機能しますが、前の質問で述べたように停止できませんでした、、

いろいろ試してみましたが、それでもアラームが止まらなかったという問題があります...

ループ内で使用することを考えています mAlarmManager.set()。コードを記述しましたが、ループは1回だけアラームを開始します。

だから、私はこのアイデアをどのように実装し、2時間まで10分ごとに通知を表示することができるかを尋ねるためにここにいます!!!

助けていただければ幸いです

前もって感謝します ...

4

2 に答える 2

2

あなたはそれをループに入れたくありません。むしろ、経過時間をチェックし、必要に応じてアラームをキャンセルする、アラームの保留中のインテントトリガーコードを用意します。(これは、PendingIntentを作成したクラスのonReceiveメソッドに含まれます。)

または、開始時刻から2時間後に別のアラームを設定すると、コードがトリガーされて繰り返しアラームがキャンセルされます。

于 2012-05-07T21:02:39.033 に答える
0

forループ内でアラームを設定することもできます。

例:

long next=0;
for (int i = 0; i < 12; i++) {
  alarmManager.set(AlarmManager.RTC_WAKEUP, mCurrentTime + 10*60*1000 + next, pendingIntent);
  next+=10*60*1000;
}
于 2012-05-07T21:18:43.187 に答える