5
Alarm Manager Service 송형송형

Alarm Manager Service 송형주 Rev02

Embed Size (px)

Citation preview

Page 1: Alarm Manager Service 송형주 Rev02

Alarm Manager Service

송형주송형주

Page 2: Alarm Manager Service 송형주 Rev02

Alram Manager Service개요Alram Manager Service 개요

• 지정된 시간에 특정 응용프로그램을 실행하고자 할 때 주로 사용됨.하고자 할 때 주로 사용됨.

1. 알람 시간, 사용할 PedingIntent 등록

Alarm Manager Alarm ManagerService

2. intent 브로드캐스트

Page 3: Alarm Manager Service 송형주 Rev02

Alarm Manager Service 구조/dev/alarm

알람 등록

AlarmThread (무한루프)ACA

Alarm List

CTION

_TI

ACTION

_DA

알람 만료 체크

IME_TICK 1분(RTC) 알람등록 1달(RTC) 알람등록

ATE_CHAN Alarm 삭제

ClockReceiver(BroadcastReceiver)

UninstallReceiver(BroadcastReceiver)

NG

ED

ACTION_PACKAGE_RESTARTED

ACTION_PACKAGE_RESTARTED

Page 4: Alarm Manager Service 송형주 Rev02

AlarmManger :동작 TypeAlarmManger : 동작 Type

• RTC : UTC를 기준으로 명시적인 시간에 Intent를발생시킬 것이지만, 장치를 깨우지 않는다.

• ELAPSED_REALTIME : 장치가 부팅되고 난 이후로 경과된 시간의 양에 기반해 Intent가발생되며, 장치는 깨우지 않는다. 경과시간에는 장치가 절전상태로 있었던 시간도 포함된다 경과된 시간은 가장 최근에 부팅된 시간 이후로 계산됨을 기억된다. 경과된 시간은 가장 최근에 부팅된 시간 이후로 계산됨을 기억

• 위 상수 뒤에 _WAKEUP이 붙어 있으면 필요한 경우에는 장치를 깨운다.

Page 5: Alarm Manager Service 송형주 Rev02

Alarm Thread동작순서Alarm Thread 동작순서

현재시간을얻어옴현재 시간을 얻어옴. (UTC 기준, 부팅 타임 기준)

RTC 리스트

RTC WAKEUP 리스트Expired된 알람리스트 체크

RTC_WAKEUP 리스트

ELAPSED_REALTIME 리스트

Expired 된 알람과 연결된 Intent 브로드캐스트(WAKEUP 타입이면, 장치를 깨움)

ELAPSED_REALTIME_WAKEUP 리스트

알람리스트알람리스트