안드로이드 스튜디오/Java

안드로이드 스튜디오: 브로드캐스트 리시버(BroadCast Reciver)

류창 2021. 12. 10. 19:17
반응형

이번 포스팅은 안드로이드 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!!" 라고 로그를 띄어봅시다.

 

 

 

꼭 Manifest 파일 설정해주기!

 

BroadCast를 설정해주는건   </activity>가 끝나는부분 아래에 작성해주시면됩니다.

 

<receiver  >  안에 BroadCast의 이름을 작성해줍시다.

 

<intent-filter>는 수신으로 받을 행동들을 담습니다.

 

이번에 시험적으로, 안드로이드의 언어가 바뀔때 반응하는,  LOCALE_CHANGED를 작성해보겠습니다.

 

언어설정을 바꿔봅시다.

 

 

이렇게 언어를 바꾸시면 안드로이드 로그창에 설정해둔 "On Recieve!!"가 찍히게될겁니다.

 

 

 

이것 외에도 비행기모드 설정, 휴대폰 부팅, 저전력모드 등 다양한 BR설정이 가능하게됩니다.

 

이상으로, BroadCast Reciver가 무엇이고, 구현을 해보았습니다. 감사합니다.

 

 

 

 

반응형