有没有办法在使用 GCM 接收推送通知时调试应用?

最初,我的应用程序已关闭,当我收到来自GCM推送服务的新消息时,我正在从我的类中的onMessage()开始一项新活动,该活动扩展了。我想使用调试器检查一些错误。我的问题是,有没有办法在从推送通知启动时调试应用程序?GCMIntentService

为了清除更多内容,我附加了一个和服务。即使应用程序已关闭,它也会接收广播并根据收到的消息启动活动。应用在未打开时可能会收到广播。现在,当应用程序打开并且我收到推送消息时,我可以调试它。但问题是,当应用程序关闭并且它收到广播时,那么如何调试它呢?BroadcastReceiver


答案 1
@Override
public void onMessageReceived(RemoteMessage remoteMessage)
{
    /*
      the following line will halt the app here
      to give you time to attach the debugger
    */
    android.os.Debug.waitForDebugger();

    /*
      then you can put a breakpoint on any line
      after that, like here:
    */
    Log.d("onMessageReceived", "From: " + remoteMessage.getFrom());

    ...
}

可以将该行放在代码中要停止执行并附加调试器的任何位置。只需记住在完成调试时将其删除即可。android.os.Debug.waitForDebugger();


答案 2

推荐