用于循环使用AlarmManager Android应用程序

时间:2012-05-07 20:55:32

标签: java android alarm

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

我试过很多方法,但它仍然存在问题警报没有停止......

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

所以,我在这里问我怎样才能实现这个想法并在2小时之前每10分钟显示一次通知!!!

如果你帮助,我将非常感激

提前感谢...

2 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分: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;
}