이번 포스팅은 안드로이드 4대 컴포넌트의 3번째 브로드캐스트 리시버를
알아보고 구현해봅시다.
• Broadcast Receiver
• 시스템 event 수신
• 저전력 모드, booting 이벤트, SD 카드 탈부착, Wi-Fi 접속 등
• 다른 application의 메시지 수신
• Application 간의 소통 창구
https://developer.android.com/guide/components/broadcasts?hl=ko
브로드캐스트 개요 | Android 개발자 | Android Developers
브로드캐스트 개요 Android 앱은 Android 시스템 및 기타 Android 앱에서 게시-구독 디자인 패턴과 유사한 브로드캐스트 메시지를 받거나 보낼 수 있습니다. 관심 있는 이벤트가 발생할 때 이러한 브로
developer.android.com
브로드 캐스팅 BR에는 정적 BR 과 동적 BR이 있습니다.
• Manifest에 선언된 수신자 (정적 BR)
• 앱이 동작할 때, 동작하지 않을 때 모두 유효
• 즉, 종료되어 있는 앱을 실행시킬 수 있음
• Context에 등록된 수신자 (동적 BR)
• 앱이 동작할 때만 유효
이번에는 정적 BR을 구현을 해보겠습니다.
정적 BR 구현해보기
새로운 Class를 만들어서 BroadCastReciver를 참조를 해줍시다.
실험으로, BroadCastReciver가 메시지를 수신을받으면, "On Receive!!" 라고 로그를 띄어봅시다.
BroadCast를 설정해주는건 </activity>가 끝나는부분 아래에 작성해주시면됩니다.
<receiver > 안에 BroadCast의 이름을 작성해줍시다.
<intent-filter>는 수신으로 받을 행동들을 담습니다.
이번에 시험적으로, 안드로이드의 언어가 바뀔때 반응하는, LOCALE_CHANGED를 작성해보겠습니다.
이렇게 언어를 바꾸시면 안드로이드 로그창에 설정해둔 "On Recieve!!"가 찍히게될겁니다.
이것 외에도 비행기모드 설정, 휴대폰 부팅, 저전력모드 등 다양한 BR설정이 가능하게됩니다.
이상으로, BroadCast Reciver가 무엇이고, 구현을 해보았습니다. 감사합니다.
'안드로이드 스튜디오 > Java' 카테고리의 다른 글
안드로이드 스튜디오: 컨텐츠 제공자 (Content Provider) (0) | 2021.12.11 |
---|---|
안드로이드 스튜디오 : 서비스(Service) (0) | 2021.12.09 |
안드로이드 스튜디오 : SQLite 사용 (0) | 2021.11.30 |
안드로이드 스튜디오 : 데이터 파일 처리하기 (0) | 2021.11.26 |
안드로이드 쓰레드(Thread2) Handler 사용 (0) | 2021.11.12 |