Я хотел бы действовать в соответствии с одним видом деятельности из другого. Назовем их Sender
и Receiver
. Итак, в Receiver
я зарегистрировал получателя:
receiver = object : BroadcastReceiver() {
override fun onReceive(context: Context, intent: Intent) {
val command = intent.getIntExtra("action_id", -1)
val bundle = intent.extras
for (key in bundle!!.keySet()) {
val value = bundle[key]
Timber.i(String.format("%s %s (%s)", key,
value.toString(), value!!.javaClass.name))
}
}
}
registerReceiver(receiver, IntentFilter("command"))
И я отправляю данные из `Действия отправителя перед его закрытием:
backToMess.setOnClickListener {
dialog.dismiss()
val intent = Intent()
intent.action = "command"
intent.putExtra("action_id", 1)
intent.putExtra("m_id", intent.getIntExtra("message_id", 0))
intent.putExtra("list_type", intent.getIntExtra("list_type", 0))
intent.putExtra("list_pos", intent.getIntExtra("list_pos", 0))
sendBroadcast(intent)
finishAndRemoveTask()
}
Данные, которые я отправляю из Sender
, : 1,9238,1,12
и данные, которые я получаю на Receiver
: 1,0,0,0
Я не понимаю, почему это происходит. Может я не могу отправить несколько экстров что ли?