调试 android.intent.action.BOOT_COMPLETED

Debug android.intent.action.BOOT_COMPLETED

我想调试一个 BroadcastReceiver,它应该在触发操作 android.intent.action.BOOT_COMPLETED 时启动它的 onReceive 方法。我读过几个来源,例如

但是所有的解决方案都是 运行

./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")。