2011-10-31 70 views
13

我的應用程序包含一項通過廣播接收位置的服務,並且還有一項活動註冊了相同的廣播。間歇性,顯然只有在某些設備上,活動打擊了這一點:「接收廣播意圖{....}時出錯」是什麼意思?

class java.lang.RuntimeException 
Msg: Error receiving broadcast Intent { act=com.company.app.ACTION_LOCATION_CHANGED flg=0x10 (has extras) } in [email protected]45bb8 

我不能使用調試器來查看應用程序的狀態,因爲我不能重現這個錯誤,所以我在分析日誌依賴。

這個異常實際上是什麼意思?即接收它有什麼問題?

回答

27

這意味着onReceive方法內部存在未捕獲的異常。 看看什麼可能導致它...難以說沒有代碼,沒有更詳細的堆棧跟蹤。

2

另一個可能的原因是您沒有在活動的onPause()方法中註銷接收者。

8

另一種可能性是有更多信息在日誌的下方。

例子:我剛做了這個錯誤,並且日誌數據看起來像:

java.lang.RuntimeException: Error receiving broadcast Intent { act=com.example.bluetooth.le.ACTION_DATA_AVAILABLE flg=0x10 (has extras) } in [email protected] 
    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... 

次生「造成」的一聲,我犯了一個錯誤一個非常簡單的位置。

+0

確實幫助我解決問題 – akshay1188