0
我試圖用AlarmManager.cancel()取消鬧鐘,但顯然它不工作。我讀過的地方,我必須使用PendingIntent.FLAG_UPDATE_CURRENT,正如代碼中所看到的,是我使用的。在設置鬧鐘時,我希望程序使用代碼自動設置鬧鐘,因此下面的代碼。使用AlarmManager.cancel()不工作刪除鬧鐘
setAlarm功能:
public void setAlarm(DateTime date, String message) {
Intent i = new Intent(AlarmClock.ACTION_SET_ALARM);
i.putExtra(AlarmClock.EXTRA_MESSAGE, message);
i.putExtra(AlarmClock.EXTRA_HOUR, date.getHourOfDay());
i.putExtra(AlarmClock.EXTRA_MINUTES, date.getMinuteOfHour());
i.putExtra(AlarmClock.EXTRA_SKIP_UI, true);
PendingIntent pendingIntent = PendingIntent.getActivity(appContext.getApplicationContext(), 0, i, PendingIntent.FLAG_UPDATE_CURRENT);
AlarmManager manager = (AlarmManager) appContext.getApplicationContext().getSystemService(Context.ALARM_SERVICE);
manager.set(AlarmManager.RTC_WAKEUP, System.currentTimeMillis(), pendingIntent);
return;
}
cancelAlarm功能:
public void cancelAlarm(DateTime date, String message) {
Intent i = new Intent(AlarmClock.ACTION_SET_ALARM);
i.putExtra(AlarmClock.EXTRA_MESSAGE, message);
i.putExtra(AlarmClock.EXTRA_HOUR, date.getHourOfDay());
i.putExtra(AlarmClock.EXTRA_MINUTES, date.getMinuteOfHour());
i.putExtra(AlarmClock.EXTRA_SKIP_UI, true);
PendingIntent pendingIntent = PendingIntent.getActivity(appContext.getApplicationContext(), 0, i, PendingIntent.FLAG_UPDATE_CURRENT);
AlarmManager manager = (AlarmManager) appContext.getApplicationContext().getSystemService(Context.ALARM_SERVICE);
manager.cancel(pendingIntent);
return;
}
任何想法?我在智慧的結尾。提前致謝!
有意義,我會再給它一次!非常感謝你! – 2014-10-28 11:14:29