【问题标题】:How to debug a broadcastreceiver?如何调试广播接收器?
【发布时间】:2011-04-06 18:00:42
【问题描述】:

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

【问题讨论】:

    标签: android debugging logging adb


    【解决方案1】:

    您需要您的 BroadcastReceiver 才能在清单中包含此内容:

    android:process=":remote"
    

    把它放在你的onReceive 方法中:

    android.os.Debug.waitForDebugger();
    

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

    【讨论】:

      【解决方案2】:

      在开发者选项中: 选择调试应用程序->您的应用程序 等待调试器

      【讨论】:

        【解决方案3】:

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

         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();
        }
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2016-11-06
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2017-05-31
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多