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;
}
어떤 아이디어? 나는 위트를 끝내고있다. 미리 감사드립니다! 당신은 알람을 설정하면
은 의미가 있습니다. 고마워요! –