티스토리 뷰

300x250
300x250



정적, 암시적, Implicit BroadcastReceiver

Receiver 를 고정해서 등록해 놓고 원하는 방송만 수신하는 receiver 다.

- 사용자가 직접 AndroidManifest.xml 파일에 receiver 를 등록하는 방식이다.

- 한번 등록하면 해제할 수 없다.

- 해당 앱이 설치될 때 자동으로 등록된다.

 

[송신앱에서 broadcast]

[수신앱에서 broadcast]



보내는 쪽 package (송신앱)




받는 쪽 package (수신앱)


 

 



Reference

◼ targetSdkVersion

Android O (API 26) 이상 부터 암시적 브로드캐스트 인텐트 제한이 적용된다.

쉽게말해 targetSdkVersion 이 26 이상이면 암시적 브로드캐스트를 이용할 수 없다.

(브로드캐스트 제한  |  Android Developers)

 

이로 인해 sample 에서는 하단과 같이 targetSdkVersion 을 25 로 설정했다.

 

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

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

 

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



Source code

◼ 송신부

https://github.com/parkho79/ImplicitBroadcastReceiever_send

 

◼ 수신부

https://github.com/parkho79/ImplicitBroadcastReceiever_receive



728x90
댓글