BroadcastReceiver 通过 ADB 接收额外信息——无法正常工作
BroadcastReceiver receive extra with ADB --es not working
我在 MainActivity.onCreate
方法中使用以下语句注册了一个广播接收器:
...
// in onCreate()
val filter = IntentFilter("com.example.my_receiver.TEST_FILTER")
registerReceiver(myReceiver, filter)
...
与以下接收器
private val myReceiver = object : BroadcastReceiver() {
override fun onReceive(context: Context?, intent: Intent?) {
// do something
}
}
当我执行添加命令时
adb shell am broadcast -a com.example.my_receiver.TEST_FILTER
将执行onReceive
方法。但是当我尝试添加一些额外的数据时
adb shell am broadcast -a com.example.my_receiver.TEST_FILTER --es test_data "My testdata"
什么都不会执行。如何使用 adb
发送额外数据并在 BroadcastReceiver
实现中接收它? compileSdk
和 targetSdk
是 31.
我建议您首先尝试不使用空格,或者直接转义空格,参见此处:
adb command fail to execute if path contain spaces
我在 MainActivity.onCreate
方法中使用以下语句注册了一个广播接收器:
...
// in onCreate()
val filter = IntentFilter("com.example.my_receiver.TEST_FILTER")
registerReceiver(myReceiver, filter)
...
与以下接收器
private val myReceiver = object : BroadcastReceiver() {
override fun onReceive(context: Context?, intent: Intent?) {
// do something
}
}
当我执行添加命令时
adb shell am broadcast -a com.example.my_receiver.TEST_FILTER
将执行onReceive
方法。但是当我尝试添加一些额外的数据时
adb shell am broadcast -a com.example.my_receiver.TEST_FILTER --es test_data "My testdata"
什么都不会执行。如何使用 adb
发送额外数据并在 BroadcastReceiver
实现中接收它? compileSdk
和 targetSdk
是 31.
我建议您首先尝试不使用空格,或者直接转义空格,参见此处:
adb command fail to execute if path contain spaces