2012년 4월 17일 화요일

[안드로이드] 브로드케스트리시버 동적으로 등록/해지 하기

브로드케스트 인텐트를 받기 위해
보통 AndroidManifest.xml 파일에 리시버를 등록 하곤 한다.
이렇게 하면 해당 브로드케스트가 발생하면 항상 실행되게 되는데, 기능에 따라 On/Off 를 하고 싶을 경우가 있다.
뭐 그런 경우 브로드케스트 리시버에서 처리를 안해도 되지만 아예 꺼버린다면 여러모로 효율이 좋게된다.

* 먼저 브로드케스트 리시버를 등록 하는 법
// 인텐트 필터 생성
IntentFilter filter = new IntentFilter();
filter.addAction("com.hermina.broadcast.TEST");
// 브로드케스트 리시버 등록
registerReceiver(reciever, filter);
물론 reciever는 등록할 BroadcastReciever 이며
다룰 인텐트에 따라 필터를 좀더 명확 하게 설정할 수 있다.
filter.addCategory
filter.addDataType
filter.addDataScheme
* 해지 하는법
unregisterReceiver(reciever);

댓글 없음:

댓글 쓰기