AlarmManager 알림에 반응해야하는 BroadcastReceiver에 문제가 있습니다. 나는이 주제에 대해 여러 글을 읽었지만 도움이 될만한 것을 찾지 못했다. 나는 뭔가를 놓치고 있어야합니다.Android AlarmManager 사용자가 응용 프로그램을 종료 할 때 BroadcastReceiver가 작동하지 않습니다.
// Receiver intent
Intent intent = new Intent(mContext, CalendarAlarmReceiver.class);
intent.putExtra(CalendarAlarmReceiver.SHOW, show);
// Sender
PendingIntent sender = PendingIntent.getBroadcast(mContext, hashRequestCode(show), intent, PendingIntent.FLAG_UPDATE_CURRENT);
mPendingAlarmRequests.put(show.getChannel() + show.getName() + show.getStart().toGMTString(), sender);
// Get AlarmManager
AlarmManager am = (AlarmManager) mContext.getSystemService(Context.ALARM_SERVICE);
am.set(AlarmManager.RTC_WAKEUP, show.getStart().getTime(), sender);
내가 브로드 캐스트 리시버를 확장하는 CalendarAlarmReceiver 클래스를 생성 :
나는 알람을 다음과 같은 방법을 설정합니다. onReceive() 메서드에서 응용 프로그램이 실행 중일 경우 제대로 작동하는 상태 표시 줄 알림을 시작합니다. 그러나 닫을 때까지 뒤로 버튼을 클릭하여 응용 프로그램을 종료하면 알림이 더 이상 나타나지 않습니다.
수신기가 전혀 호출되지 않고 작동하지 않는 알림이거나 수신기가 호출되지 않은 경우 확실하지 않습니다.
그것은 매니페스트 파일에 등록됩니다 :
<receiver android:name=".calendar.CalendarAlarmReceiver" >
</receiver>
나는이 수신기의 falut하지 않을 수 있지만 응용 프로그램이 정지 할 때 오히려 알람이 취소 될 수 있음을 읽어 보시기 바랍니다. 그런 경우 백그라운드에서 항상 작동하는 서비스에서 알람을 설정하는 솔루션입니까?
분명히, 변경 사항을 도입하지는 않았지만 알림은 오늘 갑자기 나타났습니다. 그것이 AlarmManager를 이해하는 방법입니다. 일단 설정하고 수신기를 등록하면 더 이상 할 일이 없습니다. – PawelPredki