티스토리 뷰

300x250
300x250



동적, 명시적, Explicit BroadcastReceiver

Receiver 를 원하는 시점에 등록(registerReceiver) 과 해제(unregisterReceiver) 하여 자유롭게 사용한다.

- 메니페스트에 등록하지않고 소스상에 등록을 한다.

- 자신이 등록한 component 의 생명 주기가 끝나면 사라진다.

  (Context 가 요효할 동안 동작한다.)

 

[송신앱에서 broadcast]

[수신앱에서 broadcast]



보내는 쪽 package (송신앱)




받는 쪽 package (수신앱)


 



Reference

◼ unregisterReceiver

동적으로 등록한 receiver 의 경우 컴포넌트가 종료되면 동작하지 않는다.

따라서, unregisterReceiver 통해서 리시버를 해제하지 않으면 메모리 누수가 발행하므로 주의하자!

 

◼ 동적으로 등록한 receiver 는 동시에 실행된다.

(정적 receiver 는 ActivityManagerService 에 등록된 순으로 순차적으로 실행된다.)

 

◼ Receiver 는 메인 스레드에서 동작하므로 간단한 작업만 해야한다.



Source code

◼ 송신부

https://github.com/parkho79/ExplicitBroadcastReceiever_send

 

◼ 수신부

https://github.com/parkho79/ExplicitBroadcastReceiever_receive



728x90
댓글