我正在尝试制作一个小应用程序,每10分钟显示一次通知,直到达到2小时,然后警报应该停止,当我使用setRepeat()
它运行良好但是我无法阻止它在我的预案问题中提到HERE ,,
我试过很多方法,但它仍然存在问题警报没有停止......
我有一个想法在内部循环使用mAlarmManager.set()
,我写了一个代码,但循环只启动一次警报..
所以,我在这里问我怎样才能实现这个想法并在2小时之前每10分钟显示一次通知!!!
如果你帮助,我将非常感激
提前感谢...
答案 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;
}