2011-04-06 64 views
7

随着我的应用程序,我意识到一个广播接收器由Android的一般意图解雇。所以程序没有接口或初始活动。要调试开发工具中选择的“等待调试器”,它实际上工作(我可以调试broadcastReceiver)。 我的问题是,达尔维克在几秒钟后杀死我的线程(和整个调试),所以我无法检查或尝试一步一步我的程序。任何人都知道如何解决这个问题?如何调试broadcastreceiver?

回答

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

在开发人员选项: 选择调试应用 - >您的应用程序 等待调试

0

你需要你的BroadcastReceiver有这样的清单:

android:process=":remote" 

把这个放在你的onReceive方法中:

android.os.Debug.waitForDebugger(); 

然后运行该项目。在是点击后安装调试到Android的过程,等待你的过程中出现(它会用这个名字:your.package.name:remote)窗口选择你的过程,然后单击OK 开始调试。

enter image description here