我使用此代码创建警报并且它可以正常工作。请建议如何取消该警报。
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);
提前致谢
答案 0 :(得分:2)
您需要使用cancel(...)
中的AlarmManager
方法,使用您用来设置闹钟的相同PendingIntent
。例如:
this.getAlarmManager().cancel(mAlarmPendingIntent);
(这是指取消警报的活动或服务)。
将PendingIntent
创建为:
mAlarmPendingIntent = PendingIntent.getActivity(this, requestCode, intent, flags);
答案 1 :(得分:2)
您必须调用cancel方法:link
PendingIntent
应与您之前使用AlarmManager
设置的相同。