확인을 잘못 발사, 그래서 알람을 설정하고 있습니다 :안드로이드 알람 관리기 elapsedTime는
long triggerTime = SystemClock.elapsedRealtime() + mynterval;
내가 미래에 비교 triggerTime
을 저장하고있어
alarmManager.setExact(AlarmManager.ELAPSED_REALTIME_WAKEUP, triggerTime, pendingIntent);
.
가끔 alarm
이 triggerTime
보다 먼저 발사됩니다! 예를 들어
, 나는 로그에 볼 수 있습니다
scanTime: 702672466
SystemClock.elapsedRealtime: 702672132
무엇 델타 오류가 여기에있다 - 일초 2 ~ 3 초 이상?
그리고 왜 이런 일이 발생합니까?
테스트 할 Android 버전은 무엇입니까? –
만약'setExact()'를 사용한다면 - 5.1.1을 가진 장치; 이전의 장치라면 - 대신'set()'메서드를 사용합니다. –
좋아, Doze 모드에 대한 내 대답을 참조하십시오. 어쨌든 델타는 두 번째 (최악의 경우) 훨씬 더 밀리 세컨드 일 것입니다. –