본문 바로가기

프로그래밍/안드로이드

[안드로이드] 컴포넌트 생명주기 - #3 브로드캐스트 리시버 생명주기


안드로이드의 컴포넌트 생명주기의 액티비티, 서비스에 이어 브로드캐스트 리시버 생명주기입니다.


브로드캐스트 리시버 생명주기

브로드캐스트 리시버는 하나의 메소드만을 가집니다.

void onReceive(Context context, Intent broadcastMsg)




리시버에게 브로드캐스트 메시지가 오면 onReceive()가 호출되고, 이 메시지를 인텐트 객체를 인수로 가집니다.
브로드캐스트 리시버는 이 메소드를 실행하는 동안만 활성화 된것으로 간주됩니다. onReceive() 메소드가 리턴되면 비활성화 됩니다.

활성화된 브로드캐스트 리시버를 가지는 프로세스는 강제종료로부터 보호되지만, 비활성화 상태라면 강제종료가 가능해 집니다.

이것은 브로드캐스트 메시지의 응답시간에 관련하여 발생할 수 있기 때문에, 시스템에게 활성화 되어 있다는걸 알려줄 수 있도록 onReceive() 안에서 서비스를 시작시키고, 해당 서비스가 작업하게 해야됩니다.

출처 : http://underclub.tistory.com/288