Android Broadcast

Send 리스폰스와 Receive 트리거의 channel 로 Android Broadcast 를 선택하면 Android Broadcasts를 통해서 Android 용 ProtoPie Player 에서 동작하는 pie 가 다른 앱과 메시지를 주고 받을 수 있도록 할 수 있습니다.

앱에서 ProtoPie 로 메시지를 보내려면io.protopie.action.ONE_TIME_TRIGGER action 으로 Intent 를 만들어 broadcast 를 보냅니다

val intent = Intent("io.protopie.action.ONE_TIME_TRIGGER")
intent.putExtra("messageId", "YOUR_MESSAGE_ID")
intent.putExtra("value", "123") // Optional
context.sendBroadcast(intent)

ProtoPie 에서 보낸 메시지를 앱에서 받으려면 io.protopie.action.ONE_TIME_RESPONSE   의 action 값을 가지는 Broadcast 를 받도록 BroadcastReceiver 를 생성하여 등록합니다.

val receiver = object : BroadcastReceiver() {
  override fun onReceive(context: Context, intent: Intent) {
    val messageId = intent.getStringExtra("messageId")
    val value = intent.getStringExtra("value")
    println("Message from ProtoPie. messageId=$messageId value=$value")
  }
}

val filter = IntentFilter("io.protopie.action.ONE_TIME_RESPONSE")
context.registerReceiver(receiver, filter)