Android AlarmManager设置在选定日期重复的每周报警
我正在创建报警应用程序,设置多天报警,即重复报警。我的Android报警应用程序视图如下所示 我已经为此编写了代码Android AlarmManager设置在选定日期重复的每周报警,android,alarmmanager,Android,Alarmmanager,我正在创建报警应用程序,设置多天报警,即重复报警。我的Android报警应用程序视图如下所示 我已经为此编写了代码 AlarmManager alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE); Intent alarmIntent = new Intent(ALARM_ACTION_NAME); alarmIntent.putExtra("AlarmID", m_alarmId); PendingInt
AlarmManager alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
Intent alarmIntent = new Intent(ALARM_ACTION_NAME);
alarmIntent.putExtra("AlarmID", m_alarmId);
PendingIntent alarmPI = PendingIntent.getBroadcast(this, m_alarmId, alarmIntent, 0);
//listofred is a ArrayList of int items.contains int valye for selected days...for My Example listofred:3,4,5,7
for (int i = 0; i < listOfred.size(); i++) {
// for alarm ...
calNow = Calendar.getInstance();
calSet = (Calendar) calNow.clone();
int day = calSet.get(Calendar.DAY_OF_WEEK); //current day...for example.13 dec 2014 - sat so, day = 7
calSet.set(Calendar.DAY_OF_WEEK, listOfred.get(i));
calSet.set(Calendar.HOUR_OF_DAY, time_picker.getCurrentHour());
calSet.set(Calendar.MINUTE, time_picker.getCurrentMinute());
calSet.set(Calendar.SECOND, 0);
calSet.set(Calendar.MILLISECOND, 0);
alarmManager.setRepeating(AlarmManager.RTC_WAKEUP,
calSet.getTimeInMillis(), (DateUtils.DAY_IN_MILLIS)*7,
alarmPI);
//parameter long intervalMillis.....(DateUtils.DAY_IN_MILLIS)*7 so that it will repeat after each 7 days...
}
AlarmManager AlarmManager=(AlarmManager)getSystemService(Context.ALARM\u服务);
意向alarmIntent=新意向(报警\动作\名称);
alarmIntent.putExtra(“AlarmID”,m_AlarmID);
PendingEvent alarmPI=PendingEvent.getBroadcast(这个,m_alarmId,alarmIntent,0);
//listofred是int项的数组列表。包含选定日期的int valye…例如listofred:3,4,5,7
对于(int i=0;i
我的问题是,当我运行此代码时,每次它为Arraylist中的最后一个对象设置报警时,它只会在星期六设置重复报警(即listofred Arraylist中的最后一个对象)。我知道回答此问题已经很晚了,但这不是因为每个报警事件都传递了相同的挂起意图。 也许这会有帮助
PendingIntent alarmPI = PendingIntent.getBroadcast(this, m_alarmId, alarmIntent, PendingIntent.FLAG_ONE_SHOT);
将警报设置为每天重复,并让
广播接收器检查是否为“红色”天数之一。如果是,那么做你想做的任何事情-如果不是,什么也不做。嗨@Rahul,你能分享你计算的剩余时间的代码吗?