2013-11-23 52 views
1

我用这个代码来创建一个闹钟,它的工作原理。请建议如何取消该警报。如何在android中以编程方式取消警报?

Intent alarmIntent = new Intent(AlarmClock.ACTION_SET_ALARM); 
      alarmIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
      alarmIntent.putExtra(AlarmClock.EXTRA_MESSAGE, mEdtTitle.getText() 
        .toString()); 
      Calendar calendar = Calendar.getInstance(); 

      calendar.set(Calendar.HOUR, mTimePicker.getCurrentHour()); 
      calendar.set(Calendar.MINUTE, mTimePicker.getCurrentMinute()); 

      calendar.set(Calendar.DATE, mDatePicker.getDayOfMonth()); 
      calendar.set(Calendar.MONTH, mDatePicker.getMonth()); 
      calendar.set(Calendar.YEAR, mDatePicker.getYear()); 

      calendar.add(Calendar.MINUTE, 1); 
      alarmIntent.putExtra(AlarmClock.EXTRA_HOUR, 
        calendar.get(Calendar.HOUR_OF_DAY)); 
      alarmIntent.putExtra(AlarmClock.EXTRA_MINUTES, 
        calendar.get(Calendar.MINUTE)); 
      alarmIntent.putExtra(AlarmClock.EXTRA_SKIP_UI, true); 
startActivity(alarmIntent); 

在此先感谢

回答

2

您需要使用方法cancel(...)AlarmManager,使用您用于设置闹钟一样PendingIntent。例如:

this.getAlarmManager().cancel(mAlarmPendingIntent); (这是指您从中取消警报的活动或服务)。

创建PendingIntent如:

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

2

你要调用取消方法:link

PendingIntent应该是相同的,你有AlarmManager之前设置。

相关问题