티스토리 뷰
728x90
반응형
동적 BroadcastReceiver
동력 BroadcastReceiver 는
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | <receiver android:name=".receiver.MyCameraBroadcastReceiver" android:enabled="true" > <intent-filter android:priority="9999999" > <action android:name="android.provider.MediaStore.ACTION_IMAGE_CAPTURE" /> <action android:name="android.intent.action.CAMERA_BUTTON" /> <category android:name="android.intent.category.DEFAULT" /> <data android:mimeType="image/*" /> </intent-filter> </receiver> | cs |
이처럼 AndroidManifest.xml 에 등록하는 정적 리시버와 다르게
1 2 | registerReceiver( BroadcastReceiver, IntentFilter ) unregisterReceiver( BroadcastReceiver ) | cs |
이 함수를 통해 리시버를 등록, 해제 한다
등록시에 IntentFilter 에는 수신하고자 하는 이벤트를 전달해 준다
사용법은
http://helloit.tistory.com/267
등 여러곳에 잘 나와있으니 참고하자
정적 리시버와의 차이점
정적 리시버를 등록하여 사용하면 구현한 앱이 동작 중이 아닌 상황에서도
리시버가 동작한다
이처럼 무의미한 CPU 와 배터리 사용을 방지하기 위해 동적인 방법으로
리시버를 등록하게 된다
우선순위
동적 리시버는 동시에 실행되기 때문에 우선순위를 높이는 것이 큰 의미는 없지만
sendOrderedBroadcast() 함수를 사용하면 순서대로 처리되도록 할 수 있다
(특정 리시버가 방송을 수신했을 때 다른 리시버가 방송을 받지 못하도록 중단할 수 있는 기능이 있다)
반면 순서대로 실행되는 정적 리시버는 우선순위에 의미가 있다
정적 리시버의 우선순위는 AndroidManifest.xml 을 통해 설정 가능하다
<intent-filter android:priority="9999999" >
+
[ sticky intent 에 관하여 ]
http://blog.naver.com/PostView.nhn?blogId=huewu&logNo=110090854068
반응형
'프로그래밍 > Android' 카테고리의 다른 글
[Android] 코드 난독화 (0) | 2019.01.14 |
---|---|
[Android] Service FLAG (0) | 2019.01.08 |
[Android] 3.1.0 업데이트 이후 DataBinding 생성 실패 (0) | 2018.07.16 |
[Android] Android 3.1 suck (0) | 2018.03.30 |
[Android] This AsyncTask should be static or leaks might occur (2) | 2018.02.07 |
공지사항
최근에 올라온 글