2014-11-05 104 views
1

如何更新报警时间和日期如何通过取消旧警报和添加新警报来更新警报?

Intent i = new Intent("com.appsinbox.mydiary.remainder.demoactivity"); 
PendingIntent operation = PendingIntent.getActivity(getBaseContext(), 0, i, Intent.FLAG_ACTIVITY_NEW_TASK); 
AlarmManager alarmManager = (AlarmManager) getBaseContext().getSystemService(ALARM_SERVICE); 
GregorianCalendar calendar = new GregorianCalendar(year,month,day, 7, 00); 
long alarm_time = calendar.getTimeInMillis(); 
alarmManager.set(AlarmManager.RTC_WAKEUP , alarm_time , operation); 
Toast.makeText(getBaseContext(), "Alarm is set successfully",Toast.LENGTH_SHORT).show(); 
+0

在待处理的意图中使用标志FLAG_UPDATE_CURRENT。 – VVB 2014-11-05 05:47:31

回答

0

只是调用取消方法: -

取消

mAlarmPendingIntent = PendingIntent.getActivity(this, requestCode, intent, flags); 
this.getAlarmManager().cancel(mAlarmPendingIntent); 

添加新

AlarmManager am = (AlarmManager)getSystemService(alarm); 

Intent i= new Intent("MY_INTENT"); 
PendingIntent pi = PendingIntent.getBroadcast(this, 0, i, 0); 

Calendar calendar = Calendar.getInstance(); 
calendar.setTimeInMillis(System.currentTimeMillis()); 
calendar.add(Calendar.MINUTE, 2); 
am.set(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), pi);