如何调试广播接收器?

Vas*_*ash 7 debugging logging android adb

通过我的应用程序,我意识到广播接收器是由Android的一般意图解雇的.所以程序没有接口或初始活动.要调试我在开发工具中选择的"等待调试器",它实际上有效(我可以调试broadcastReceiver).我的问题是dalvik在几秒钟后杀死了我的线程(以及整个调试),因此我无法检查或尝试逐步执行我的程序.谁知道怎么解决这个问题?

hid*_*s02 5

你需要BroadcastReceiver在清单中有这个:

android:process=":remote"
Run Code Online (Sandbox Code Playgroud)

把它放在你的onReceive方法中:

android.os.Debug.waitForDebugger();
Run Code Online (Sandbox Code Playgroud)

然后运行项目。之后,单击将调试器附加到 Android 进程并等待您的进程显示your.package.name:remote在窗口中(它将具有以下名称:)选择您的进程,然后单击确定并开始调试。

在此处输入图片说明


oab*_*rca -2

把你的东西放在另一个线程中:

 public void onReceive(final Context context, Intent intent) {    
    new Thread(new Runnable(){

        @Override
        public void run() {
           Log.i("foo","set me as line breakpoint.");
        }
      }).start();
}
Run Code Online (Sandbox Code Playgroud)