Nexus 4 - Android 4.3 - api_18에서 작업합니다.Android AlarmManager - 잠자기시 ELAPSED_REALTIME 알람이 계속 반복됩니다.
PendingIntent
을 AlarmManager.ELAPSED_REALTIME
으로 예약하면 장치가 절전 모드 일 때 알람이 내 BroadcastReceiver
으로 계속 호출됩니다.
문서는 장치가 절전 모드로 전환 할 때 BroadcastReceiver
한 번만 호출 한 후 장치가 깨어 나면 말한다 :
다음에 장치가 깨어납니다.
내 경우에는 장치가 잠 들어있을 때 BroadcastReceiver
가 반복적으로 호출됩니다. 당신이 당신의 화면을 끄면
내 코드
alarmManager.setRepeating(AlarmManager.ELAPSED_REALTIME,
SystemClock.elapsedRealtime(),
DELAI_PLANNIF_TICK,
pendingIntent);
기기가 절전 모드로 전환되었음을 어떻게 알 수 있습니까? –
안녕하세요. 좋은 질문입니다. 기기의 버튼으로 화면을 끕니다. 그리고 화면이 꺼지고 진드기가 생기면 나는 pm.isScreenOn()을 테스트하고 false입니다. 그 장치가 절전 모드에 있다고 가정 해 봅시다. –
슬립 모드에서 CPU는 저전력 상태이므로 코드를 실행하지 않습니다 (알람에 의해 깨어날 수 있음). 일반적으로 화면이 꺼지면 몇 초 후에 발생합니다. – Piovezan