如何在Android中使用警报管理器设置多个警报 [英] How to set multiple alarms using alarm manager in android
问题描述
我正在构建一个警报应用程序。我已经成功实现了基本的警报功能。
I'm building an alarm application. I have successfully implemented basic alarm functions.
Calendar calendar = Calendar.getInstance();
calendar.set(calendar.HOUR_OF_DAY, sHour);
calendar.set(calendar.MINUTE, sMin);
calendar.set(calendar.SECOND, 0);
calendar.set(calendar.MILLISECOND, 0);
long sdl = calendar.getTimeInMillis();
Intent intent = new Intent(AlarmList.this, AlarmReceiver.class);
PendingIntent sender = PendingIntent.getBroadcast(AlarmList.this, 0, intent,PendingIntent.FLAG_UPDATE_CURRENT);
AlarmManager ALARM1 = (AlarmManager)getSystemService(ALARM_SERVICE);
ALARM1.set(AlarmManager.RTC_WAKEUP, sdl, sender);
在我的应用程序中,用户可以选择天数(星期日,星期一... )
每周重复一次警报。
我正在尝试创建多个警报以每周重复一次,但不知道如何执行。
是否可以使用(重复)间隔创建它?还是应该创建多个警报管理器?
In my application, user can select days (sunday,monday...)
to repeat the alarm weekly.
I'm trying to create multiple alarms to repeat weekly but don't know how to do it.
Can I create it using (repeat) interval or should I create multiple alarm managers?
推荐答案
您需要使用待定意向
的个不同的广播ID。像
这样的东西:
You need to use different Broadcast id's
for the pending intents
. Something like
this:
Intent intent = new Intent(load.this, AlarmReceiver.class);
final int id = (int) System.currentTimeMillis();
PendingIntent appIntent = PendingIntent.getBroadcast(this, id, intent, PendingIntent.FLAG_ONE_SHOT);
使用系统时间应该是您触发的每个未决
意图的唯一标识符。
Using the system time should be a unique identifier for every pending intent you fire.
这篇关于如何在Android中使用警报管理器设置多个警报的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!