“接收广播意图{...}的错误”是什么意思?

时间:2011-10-31 10:00:11

标签: android

我的应用程序包括通过广播接收位置的服务,还有一个活动可以注册这些相同的广播。间歇性地,显然只在某些设备上,活动随之而来:

class java.lang.RuntimeException
Msg: Error receiving broadcast Intent { act=com.company.app.ACTION_LOCATION_CHANGED flg=0x10 (has extras) } in com.company.app.library.activity.MyActivity$LocationReceiver@40f45bb8

我无法使用调试器来查看应用程序的状态,因为我无法重现此错误,所以我依赖于分析日志。

这个例外究竟意味着什么?即接收它有什么问题?

3 个答案:

答案 0 :(得分:33)

这意味着onReceive方法中存在未捕获的异常。 看看会导致它的原因......如果没有代码并且没有更详细的堆栈跟踪,很难说。

答案 1 :(得分:10)

另一种可能性是,日志中还有更多信息。

示例:我刚刚遇到此错误,日志数据如下所示:

java.lang.RuntimeException: Error receiving broadcast Intent { act=com.example.bluetooth.le.ACTION_DATA_AVAILABLE flg=0x10 (has extras) } in myAppName.BlunoLibrary$5@41f792f8
    at LoadedApk$ReceiverDispatcher$Args.run(LoadedApk.java:778)
    at Handler.handleCallback(Handler.java:733)
    at Handler.dispatchMessage(Handler.java:95)
    ...bunch of internal android stuff...
Caused by: java.lang.NullPointerException
    at myAppName.MainActivity.onSerialReceived(MainActivity.java:96) <-- hey look, my code screwed up!
    at myAppName.BlunoLibrary$5.onReceive(BlunoLibrary.java:327)
    at LoadedApk$ReceiverDispatcher$Args.run(LoadedApk.java:768)
    at Handler.handleCallback(Handler.java:733) 
    ...bunch of other normal-looking callstack stuff...

由&#34;引起的次要&#34;给了一个非常直接的位置,我犯了一个错误。

答案 2 :(得分:3)

另一个可能的原因是您没有在活动的onPause()方法中取消注册接收器。