안드로이드 스튜디오 :: Broadcast 전송하기

Android/공통 2020.10.14 댓글 moonsu
728x90

 

 

 

 

 

안드로이드 스튜디오 :: Broadcast Receiver

 

브로드캐스트 전송

안드로이드 앱에서 브로드캐스트를 전송하는 방법으로 다음 세 가지를 제공한다.

 

1. sendBroadcast(Intent)

가장 일반적인 브로드캐스트, 순서에 상관 없이 모든 수신자에게 브로드캐스트를 전송한다. 상당히 효율적이지만 수신자가 수신한 데이터를 전파하거나 중단할 수 없다.

 

2. sendOrderedBroadcast(Intent, String)

한 번에 하나의 수신자에게 브로드캐스트를 전송한다. 우선순위가 높은 순으로 진행되고 우선순위가 같다면 임의의 순서를 매긴다.

 

3. LocalBroadcastManager.sendBroadcast

발신자와 동일한 앱에 있는 수신자에 브로드캐스트를 전달한다. 앱 간에 전송할 필요가 없다면 이 메소드를 사용하는 것이 훨신 효율적이다. (프로세스간 통신이 없으며, 보안 문제를 걱정할 필요가 없다)

 

아래 코드는 sendBroadcast(Intent) 를 호출해 브로드캐스트를 전송하는 방법이다.

더보기
Intent intent = new Intent();
intent.setAction("com.example.broadcast.MY_NOTIFICATION");
intent.putExtra("data","Notice me senpai!");
sendBroadcast(intent);    
더보기
Intent().also { intent ->
    intent.setAction("com.example.broadcast.MY_NOTIFICATION")
    intent.putExtra("data", "Notice me senpai!")
    sendBroadcast(intent)
}    

브로드캐스트 메시지는 Intent 객체를 사용해 전달한고 putExtra() 메소드로 추가 정보를 줄 수 있다.

 

 

 

 

 

728x90
반응형

댓글