2013-02-27 1 views
2

J'ai récemment trouvé l'exception suivante de l'un des utilisateurs qui utilisent mon application, quelqu'un a-t-il ce genre d'exception?Exception étrange de la nouvelle google maps v2

Edit: Il est un Confirmed Bug.

Voici le stacktrace:

java.lang.RuntimeException: Error receiving broadcast Intent { act=android.net.conn.CONNECTIVITY_CHANGE flg=0x10000000 (has extras) } in [email protected] 
    at android.app.LoadedApk$ReceiverDispatcher$Args.run(LoadedApk.java:722) 
    at android.os.Handler.handleCallback(Handler.java:587) 
    at android.os.Handler.dispatchMessage(Handler.java:92) 
    at android.os.Looper.loop(Looper.java:123) 
    at android.app.ActivityThread.main(ActivityThread.java:3701) 
    at java.lang.reflect.Method.invokeNative(Native Method) 
    at java.lang.reflect.Method.invoke(Method.java:507) 
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:862) 
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:620) 
    at dalvik.system.NativeStart.main(Native Method) 
    Caused by: java.lang.IllegalArgumentException: Receiver not registered: [email protected] 
    at android.app.LoadedApk.forgetReceiverDispatcher(LoadedApk.java:610) 
    at android.app.ContextImpl.unregisterReceiver(ContextImpl.java:822) 
    at android.content.ContextWrapper.unregisterReceiver(ContextWrapper.java:331) 
    at maps.z.bz.onReceive(Unknown Source) 
    at android.app.LoadedApk$ReceiverDispatcher$Args.run(LoadedApk.java:709) 
    ... 9 more 
    java.lang.IllegalArgumentException: Receiver not registered: [email protected] 
    at android.app.LoadedApk.forgetReceiverDispatcher(LoadedApk.java:610) 
    at android.app.ContextImpl.unregisterReceiver(ContextImpl.java:822) 
    at android.content.ContextWrapper.unregisterReceiver(ContextWrapper.java:331) 
    at maps.z.bz.onReceive(Unknown Source) 
    at android.app.LoadedApk$ReceiverDispatcher$Args.run(LoadedApk.java:709) 
    at android.os.Handler.handleCallback(Handler.java:587) 
    at android.os.Handler.dispatchMessage(Handler.java:92) 
    at android.os.Looper.loop(Looper.java:123) 
    at android.app.ActivityThread.main(ActivityThread.java:3701) 
    at java.lang.reflect.Method.invokeNative(Native Method) 
    at java.lang.reflect.Method.invoke(Method.java:507) 
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:862) 
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:620) 
    at dalvik.system.NativeStart.main(Native Method) 
+1

Assurez-vous que vous êtes dans la cinquième version de l'entrée "Services Google Play" dans le Gestionnaire de SDK. Si tel est le cas, et que vous obtenez ce plantage, c'est probablement un bug quelque part dans Maps V2, auquel cas je recommanderais de signaler un problème au programme de suivi des problèmes de Google Maps: http://code.google.com/p/ gmaps-api-issues/issues/list – CommonsWare

+0

@CommonsWare Je vais recevoir la dernière révision, merci. – meh

+1

Apparemment, l'ancienne bibliothèque avec les nouveaux services Google Play n'est pas compatible. :(Le problème est-il freiner les applications qui sont déjà publiées avec maps v2 J'ai soulevé un problème pour cela: http://code.google.com/p/gmaps-api-issues/issues/detail?id=5025&thanks = 5025 & ts = 1362047877 – balazsbalazs

Répondre

1

S'il vous plaît confirmer que avez-vous modifié votre fichier manifeste comme suit:

Insérer élément à inclure clé API comme un enfant de la

<meta-data 
android:name="com.google.android.maps.v2.API_KEY" 
android:value="--- your API Key here ---"/> 

N'oubliez pas de remplacer la valeur par votre propre clé API.

Veuillez noter que vous devez utiliser la clé d'API de débogage (reportez-vous à la section "Générer une clé API de débogage pour le service Google Maps Android API v2") lors de vos tests. Remplacez-le par la clé API de version (reportez-vous à la section "Création et obtention de la clé API pour le service Google Maps Android API v2") de votre version APK. Ajouter et de MAPS_RECEIVE. Où com.example.androidmapsv2 est mon paquet, remplacez par votre propre nom de paquet.

Ajouter utilise-autorisation:

<uses-permission 
android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/> 
<uses-permission 
android:name="android.permission.INTERNET"/> 
<uses-permission 
android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> 

et en option:

<uses-permission 
android:name="android.permission.ACCESS_COARSE_LOCATION"/> 
<uses-permission 
android:name="android.permission.ACCESS_FINE_LOCATION"/> 

Spécifier utilise-fonction d'OpenGL ES 2:

<uses-feature 
android:glEsVersion="0x00020000" 
android:required="true"/> 

EDIT: utilisez-vous n'importe quel type de récepteur dans votre application? Si oui alors s'il vous plaît vérifier:

Alors la cause du problème est peut-être ici:

unregisterReceiver(yourReciever); 

Si le récepteur était déjà non enregistré ou n'a pas été enregistré, demandâmes unregisterReceiver jette IllegalArgumentException. Confirmez-moi et dites-moi

+0

Le google maps v2 fonctionne très bien pour moi, certains utilisateurs ont eu le crash que j'ai posté ci-dessus – meh

+0

J'ai édité ma réponse s'il vous plaît vérifier et confirmer. –