非法参数异常:接收器未注册:com.google.android.gms.common.api

9
我从Crashlytics收到了一个错误。
java.lang.IllegalArgumentException: Receiver not registered: com.google.android.gms.common.api.c$a@425d95c8
   at android.app.LoadedApk.forgetReceiverDispatcher(LoadedApk.java:654)
   at android.app.ContextImpl.unregisterReceiver(ContextImpl.java:1157)
   at android.content.ContextWrapper.unregisterReceiver(ContextWrapper.java:378)
   at com.google.android.gms.common.api.c.gM()
   at com.google.android.gms.common.api.c.gJ()
   at com.google.android.gms.common.api.c.d()
   at com.google.android.gms.common.api.c$2.onConnected()
   at com.google.android.gms.internal.jm.f()
   at com.google.android.gms.internal.jm.dU()

这些列并没有指向我的应用程序中的代码行,因此很难理解问题的原因。

可能的原因是什么?

编辑:

我没有在应用程序中使用广播接收器,可能与Google Play服务有关的崩溃,但我猜测,我不需要在AndroidManifest中注册它们,我只是使用了它们。

<meta-data
     android:name="com.google.android.maps.v2.API_KEY"
     android:value="...">

    </meta-data>

<meta-data
     android:name="com.google.android.gms.version"
     android:value="@integer/google_play_services_version">
    </meta-data> 

如果您在应用中使用广播接收器,您必须在清单文件中注册它,或者通过编程实现注册。 - Vilas
我没有使用BroadcastReceiver。我猜原因在于Google Play服务的使用。 - Rikki Tikki Tavi
确保这两个 meta 标签在 <Application> 标签内。 - Vilas
我在Google Play服务6.5中看到了这个问题。有人尝试检查Google Play服务7.0是否修复了这个问题吗? - sagis
1个回答

1
显然,这是Google Play Services库的最新问题, 在这里你可以看到关于此问题的主题。
问题详情:
报告人为eygra...@gmail.com,2015年1月19日 自从升级到最新的Google Play Services后,我一直收到几个这样的崩溃报告。我使用的来自Google Play Services的唯一类是WearableListenerService,以及一个API客户端来检查是否连接了Wear设备。每个制造商的报告略有不同。以下是索尼的一个报告:
异常跟踪:
java.lang.IllegalArgumentException: Receiver not registered: com.google.android.gms.common.api.c$a@4247bdd0
       at android.app.LoadedApk.forgetReceiverDispatcher(LoadedApk.java:680)
       at android.app.ContextImpl.unregisterReceiver(ContextImpl.java:1481)
       at android.content.ContextWrapper.unregisterReceiver(ContextWrapper.java:489)
       at com.google.android.gms.common.api.c.gM()
       at com.google.android.gms.common.api.c.gJ()
       at com.google.android.gms.common.api.c.d()
       at com.google.android.gms.common.api.c$4.onConnectionFailed()
       at com.google.android.gms.internal.jm.b()
       at com.google.android.gms.internal.jl$h.b()
       at com.google.android.gms.internal.jl$h.g()
       at com.google.android.gms.internal.jl$b.hy()
       at com.google.android.gms.internal.jl$a.handleMessage()
       at android.os.Handler.dispatchMessage(Handler.java:102)
       at android.os.Looper.loop(Looper.java:136)
       at android.app.ActivityThread.main(ActivityThread.java:5137)
       at java.lang.reflect.Method.invokeNative(Method.java)
       at java.lang.reflect.Method.invoke(Method.java:515)
       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:796)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:612)
       at dalvik.system.NativeStart.main(NativeStart.java)

我(认为)遇到了同样的错误,但是我不明白如何从这个“答案”中修复它。我使用Google GMS,它对几乎所有人都有效,但是在一个手机上(三星S3),即使许多其他类似的手机(三星S3)都可以正常工作,我仍然在Crashlytics中遇到了这个崩溃。 - Kibi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接