0

我正在尝试制作一个小型应用程序,它每 10 分钟显示一次通知,直到达到 2 小时,然后警报应该停止,当我使用它时setRepeat()它运行良好但我无法停止它,正如我在我的 prevoise 问题HERE中提到的那样,,

我尝试了很多方法,但仍然有问题警报没有停止......

我有一个使用 mAlarmManager.set()内部循环的想法,我写了一个代码,但循环只启动一次警报..

所以,我在这里问我如何实现这个想法并每 10 分钟显示一次通知,直到 2 小时!

如果您能提供帮助,我将不胜感激

提前致谢 ...

4

2 回答 2

2

你不想把它放在一个循环中。相反,让警报的未决意图触发代码检查已经过去了多少时间,并在适当的情况下取消警报。(这将进入您创建 PendingIntent 的类的 onReceive 方法中。)

或者,您可以从开始时间开始设置两个小时的另一个警报,这将触发代码以取消重复警报。

于 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 回答