由于手机会重新启动并因此在启动时与 Eclipse 调试器/LogCat 断开连接,因此如何查看启动完成广播接收器崩溃的位置?
我正在我的 onReceive() 中执行一些操作
公共类 BootCompleteReceiver 扩展 BroadcastReceiver {
...
}
当手机启动时,这会崩溃并弹出强制关闭对话框。我该如何调试并查看问题出在哪里?
这个问题适用于调试任何BOOT_COMPLETE
广播接收器。
Thanks!
EDIT
是的,我们可以在手机启动时在 LogCat 中看到系统日志,但我的应用程序 Log.d(TAG,"Bootcomplete") 必须等到它 (onReceive) 被触发,但到那时应用程序崩溃了,因为问题位于接收器本身的某个地方。在我可以记录任何内容之前,应用程序崩溃了。另外,我无法对正在重新启动的手机使用“以调试模式运行”...
正如我在另一个线程中写的:
您可以通过 adb 连接到设备并打开设备 shell 来模拟所有广播操作。
开始了:
- 打开控制台/终端并导航到 /platform-tools
- 输入“adb shell”或在 linux/mac 上输入“./adb shell”
- 在 shell 中输入“am Broadcast -a android.intent.action.BOOT_COMPLETED”或您想要触发的任何操作。
这样你应该就可以调试了。
adb 或 adb shell 附带了许多不错的命令。去尝试一下
问候弗洛
EDIT:使用上述方法也会重新启动设备。为了防止设备重新启动,请使用am broadcast -a android.intent.action.BOOT_COMPLETED com.example.app
。请注意广播所针对的应用程序包名称的后缀。这使您能够将 BOOT_COMPLETED 意图仅发送到您的应用程序以进行调试。 –罗尔·范·乌登
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)