Android/BroadcastReceiver
BroadcastReceiver (2) - 정적, 암시적, implicit
parkho79
2020. 5. 20. 13:47
728x90
정적, 암시적, 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