2. Alram Manager Service 개요
• 지정된 시간에 특정 응용프로그램을 실행
하고자 할 때 주로 사용됨.
1. 알람 시간,
사용할 PedingIntent 등록
Alarm Manager
Alarm Manager
Service
2. intent
브로드캐스트
3. Alarm Manager Service 구조
/dev/alarm
알람 등록
AlarmThread (무한루프)
AC
ACTION_DA
A
CTION_TI
알람 만료 체크
Alarm List
IME_TICK
ATE_CHAN
1분(RTC) 알람등록 1달(RTC) 알람등록 Alarm 삭제
NGED
ClockReceiver UninstallReceiver
(BroadcastReceiver) (BroadcastReceiver)
ACTION_PACKAGE_RESTARTED
ACTION_PACKAGE_RESTARTED
4. AlarmManger : 동작 Type
• RTC : UTC를 기준으로 명시적인 시간에 Intent를 발생시킬 것이지만, 장치를 깨우지 않
는다.
• ELAPSED_REALTIME : 장치가 부팅되고 난 이후로 경과된 시간의 양에 기반해 Intent가
발생되며, 장치는 깨우지 않는다. 경과시간에는 장치가 절전상태로 있었던 시간도 포함
된다.
된다 경과된 시간은 가장 최근에 부팅된 시간 이후로 계산됨을 기억
• 위 상수 뒤에 _WAKEUP이 붙어 있으면 필요한 경우에는 장치를 깨운다.
5. Alarm Thread 동작 순서
현재 시간을 얻어옴
얻어옴.
(UTC 기준, 부팅 타임 기준)
RTC 리스트
RTC_WAKEUP
RTC WAKEUP 리스트
Expired된 알람 리스트 체크
ELAPSED_REALTIME 리스트
ELAPSED_REALTIME_WAKEUP
Expired 된 알람과 연결된 Intent 브로드캐스트 리스트
(WAKEUP 타입이면, 장치를 깨움)
알람리스트