我看到手表上的应用程序偶尔会发生崩溃,导致以下堆栈跟踪:
FATAL EXCEPTION: main
Process: com.mypackagename, PID: 3487
android.content.ReceiverCallNotAllowedException: BroadcastReceiver components are not allowed to register to receive intents
at android.app.ReceiverRestrictedContext.registerReceiver(ContextImpl.java:179)
at android.app.ReceiverRestrictedContext.registerReceiver(ContextImpl.java:168)
at com.google.android.gms.common.api.s.a(Unknown Source)
at com.google.android.gms.internal.j.a(Unknown Source)
at com.google.android.gms.internal.e.handleMessage(Unknown Source)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5221)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
虽然我的应用程序报告了崩溃,但您可以从trac中看到没有任何代码是我的 - 这是所有GMS和平台代码。
换句话说,我理解错误的本质,但修复它并不是我的权力。我的应用确实使用了BroadcastReceiver
,但我没有在其中注册任何Intent
个处理程序。
解决这个问题的方法很棒,但我也在这里发布,希望Wear平台团队的某个人能够看到它。磨损平台错误我发布到Android问题跟踪器的状态为“错误的论坛”(例如https://code.google.com/p/android/issues/detail?id=95740)。