调试 android.intent.action.BOOT_COMPLETED
Debug android.intent.action.BOOT_COMPLETED
我想调试一个 BroadcastReceiver
,它应该在触发操作 android.intent.action.BOOT_COMPLETED
时启动它的 onReceive 方法。我读过几个来源,例如
- How to debug BOOT_COMPLETE broadcast receiver's "Force Close" crashes?
- Android adb shell am broadcast: Bad component name
- How To Test BOOT_COMPLETED Broadcast Receiver In Emulator
但是所有的解决方案都是 运行
./adb shell am broadcast -a android.intent.action.BOOT_COMPLETED
或
./adb shell am broadcast -a android.intent.action.BOOT_COMPLETED -c <CATEGORY> -n <PACKAGE_NAME>/<CLASS>
第一个重新启动设备或模拟器,但调试器断开连接。第二个不起作用。当我输入
./adb shell am broadcast -a android.intent.action.BOOT_COMPLETED -c android.intent.category.HOME mypackage/.BootReceiver
消息是
Broadcasting: Intent { act=android.intent.action.BOOT_COMPLETED cat=[android.intent.category.HOME] cmp=mypackage/.BootReceiver }
Broadcast completed: result=0
什么也没发生。所以我的问题是:
有没有办法调试在 android.intent.action.BOOT_COMPLETED
发生时触发的 BroadcastReceiver?
我使用 Nexus 4 作为设备,也使用 Nexus 4 作为模拟器。我的 IDE 是 android 工作室,版本为 1.2.2。
使用sendBroadcast()手动发送广播
向清单中的接收器添加一些操作 ("NameofAction"),然后手动使用 sendBroadcast(new Intent("NameofAction")) 和名称您在清单中的接收器元素中指定。
并在 onReceive() 中检查操作 ("NameofAction")。
我想调试一个 BroadcastReceiver
,它应该在触发操作 android.intent.action.BOOT_COMPLETED
时启动它的 onReceive 方法。我读过几个来源,例如
- How to debug BOOT_COMPLETE broadcast receiver's "Force Close" crashes?
- Android adb shell am broadcast: Bad component name
- How To Test BOOT_COMPLETED Broadcast Receiver In Emulator
但是所有的解决方案都是 运行
./adb shell am broadcast -a android.intent.action.BOOT_COMPLETED
或
./adb shell am broadcast -a android.intent.action.BOOT_COMPLETED -c <CATEGORY> -n <PACKAGE_NAME>/<CLASS>
第一个重新启动设备或模拟器,但调试器断开连接。第二个不起作用。当我输入
./adb shell am broadcast -a android.intent.action.BOOT_COMPLETED -c android.intent.category.HOME mypackage/.BootReceiver
消息是
Broadcasting: Intent { act=android.intent.action.BOOT_COMPLETED cat=[android.intent.category.HOME] cmp=mypackage/.BootReceiver }
Broadcast completed: result=0
什么也没发生。所以我的问题是:
有没有办法调试在 android.intent.action.BOOT_COMPLETED
发生时触发的 BroadcastReceiver?
我使用 Nexus 4 作为设备,也使用 Nexus 4 作为模拟器。我的 IDE 是 android 工作室,版本为 1.2.2。
使用sendBroadcast()手动发送广播
向清单中的接收器添加一些操作 ("NameofAction"),然后手动使用 sendBroadcast(new Intent("NameofAction")) 和名称您在清单中的接收器元素中指定。
并在 onReceive() 中检查操作 ("NameofAction")。