调试android.intent.action.BOOT_COMPLETED

时间:2015-07-09 22:22:18

标签: android debugging android-intent broadcastreceiver adb

我想调试一个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 studio,版本为1.2.2。

1 个答案:

答案 0 :(得分:1)

使用 sendBroadcast()手动发送广播

在清单中的接收器中添加一些操作(&#34; NameofAction&#34;),然后手动使用 sendBroadcast(新的Intent(&#34; NameofAction&#34;))您在清单中的receiver元素中指定的名称。

并在 onReceive()中检查操作(&#34; NameofAction&#34;)。