API21에이 새로운 new AlarmManager.setAlarmClock(...) method이 있으며, 새 알람을 설정하고 상태 표시 줄 알람 아이콘을 표시합니다.안드로이드 AlarmManager.setAlarmClock()을 취소하는 방법
나는 이런 식으로 그것을 사용 :
am.cancel(PendingIntent.getBroadcast(context, 0, new Intent(ALARM_ALERT_ACTION), PendingIntent.FLAG_CANCEL_CURRENT));
알람 자체를 :
AlarmManager am = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
Intent intent = new Intent(ALARM_ALERT_ACTION);
PendingIntent sender = PendingIntent.getBroadcast(context, 0, intent, PendingIntent.FLAG_CANCEL_CURRENT);
am.setAlarmClock(new AlarmManager.AlarmClockInfo(time, sender), sender);
문제는이 코드가 작동하지 않기 때문에 나는이 알람을 취소하는 방법을 모르는 것입니다 (내 BroadcastReceiver의 onReceive가 호출되지 않음) 상태 표시 줄 경보 아이콘이 계속 표시되며 AlarmManager.getNextAlarmClock()도이 경보를 반환합니다.
'cancel()'호출에서'PendingIntent.FLAG_CANCEL_CURRENT'를 제거해보십시오. – CommonsWare
@CommonsWare That works :) 대단히 감사합니다! – Smuggler
@CommonsWare @Smuggler'PendingIntent.FLAG_CANCEL_CURRENT'을 어떻게 제거 할 수 있습니까? 이는 선택적 매개 변수가 아닙니다. – AVEbrahimi