본문 바로가기
프로그래밍/Android

Android about Alarmmanager...

by CaffeLatte 2015. 1. 19.

Alarmmanager


주기적인 알람을 설정할 경우,

정확한 시간에 알람이 울리지 않는 경우 고려할 사항


1. 알람 리시버에 WakefulBroadcastReceiver을 상속 받았는지 확인

(1분정도의 딜레이가 발생할 가능성이 있으나 거의 정확히 알람이 울림)


2. Note: Beginning with API 19 (KITKAT) alarm delivery is inexact: 

the OS will shift alarms in order to minimize wakeups and battery use. 

There are new APIs to support applications which need strict delivery guarantees; 

see setWindow(int, long, long, PendingIntent) and setExact(int, long, PendingIntent). 

Applications whose targetSdkVersion is earlier than API 19 will continue to see the previous behavior 

in which all alarms are delivered exactly when requested.


http://developer.android.com/reference/android/app/AlarmManager.html#setWindow(int, long, long, android.app.PendingIntent)

(시도해 보지 않음)


3. setExact() 함수를 사용하여 알람이 울렸는지 체크하고

알람이 울렸을 때, 다시 등록하는 방법

(시도해 보지 않음)

댓글