google - pin map android
NullPointerException de Google Maps (4)
Hace poco comencé a recibir una excepción nula de puntería de los mapas de Google de Android y no puedo entender qué la causa. Actualmente solo se ha informado en un dispositivo HTC Desire 500 (z4u) con Android 4.1. Cualquier idea o sugerencia sería muy apreciada.
Editar:
Así que tengo en mis manos un dispositivo que da el error (HTC Desire, Android 4.1.2, HTC SDK API 5.26). Como sospeché de la traza, es un error puramente interno. Lo siguiente no ayudó:
- Reinicio
- reinstalar
- La versión más reciente de los servicios de Google Play
- Actualice la aplicación para usar los servicios de reproducción 8.3.0
El rastro de la pila se ve a continuación:
java.lang.RuntimeException: Unable to resume activity {dk.mobikom.android/dk.mobikom.android.activities.ContactDetailActivity}: java.lang.NullPointerException
at android.app.ActivityThread.performResumeActivity(ActivityThread.java:3036)
at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:3077)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2373)
at android.app.ActivityThread.access$600(ActivityThread.java:151)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1330)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:155)
at android.app.ActivityThread.main(ActivityThread.java:5536)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1074)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:841)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.NullPointerException
at com.google.maps.api.android.lib6.gmm6.m.ad.a(Unknown Source)
at com.google.maps.api.android.lib6.gmm6.c.h.a(Unknown Source)
at com.google.maps.api.android.lib6.gmm6.c.y.a(Unknown Source)
at com.google.maps.api.android.lib6.e.bd.a(Unknown Source)
at com.google.maps.api.android.lib6.e.ev.a(Unknown Source)
at com.google.maps.api.android.lib6.e.z.a(Unknown Source)
at com.google.maps.api.android.lib6.e.y.a(Unknown Source)
at com.google.android.gms.maps.internal.u.onTransact(SourceFile:107)
at android.os.Binder.transact(Binder.java:326)
at com.google.android.gms.maps.internal.IMapFragmentDelegate$zza$zza.onCreateView(Unknown Source)
at com.google.android.gms.maps.SupportMapFragment$zza.onCreateView(Unknown Source)
at com.google.android.gms.dynamic.zza$4.zzb(Unknown Source)
at com.google.android.gms.dynamic.zza.zza(Unknown Source)
at com.google.android.gms.dynamic.zza.onCreateView(Unknown Source)
at com.google.android.gms.maps.SupportMapFragment.onCreateView(Unknown Source)
at android.support.v4.app.Fragment.performCreateView(Fragment.java:1962)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1026)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1207)
at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:738)
at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1572)
at android.support.v4.app.Fragment.performResume(Fragment.java:2012)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1067)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1207)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1189)
at android.support.v4.app.FragmentManagerImpl.dispatchResume(FragmentManager.java:2011)
at android.support.v4.app.FragmentController.dispatchResume(FragmentController.java:187)
at android.support.v4.app.FragmentActivity.onResumeFragments(FragmentActivity.java:426)
at android.support.v4.app.FragmentActivity.onPostResume(FragmentActivity.java:415)
at android.support.v7.app.AppCompatActivity.onPostResume(AppCompatActivity.java:141)
at android.app.Activity.performResume(Activity.java:5161)
at android.app.ActivityThread.performResumeActivity(ActivityThread.java:3019)
... 12 more
¿Has probado estos
<!-- EXTERNAL_STORAGE permissions are optional for Android 6.0 onwards. -->
<uses-permission
android:name="android.permission.WRITE_EXTERNAL_STORAGE"
android:maxSdkVersion="22" />
<uses-permission
android:name="android.permission.READ_EXTERNAL_STORAGE"
android:maxSdkVersion="22" />
Esto puede resolver el problema.
Agregar el tamaño de la tarjeta SD en mi emulador funcionó para mí.
Entonces, como se sospecha, este es un problema en el lado de Google. Han verificado el error y están trabajando en una solución (2015-12-21), consulte el code.google.com/p/gmaps-api-issues/issues/… para obtener información actualizada sobre el problema.
Editar:
Así que pude probar la información de Georges SD y sí, insertar una tarjeta SD resolvió el problema. Entonces, a partir de esto, podemos concluir que los teléfonos que no tienen un almacenamiento interno falso externo (como la mayoría de los teléfonos hoy en día) se bloquearán por este error ... Por lo tanto, esta podría ser una solución para aquellos que trabajan en el segmento empresarial, pero para aquellos que trabajan en el segmento de consumidores, esto realmente no ayudará mucho ...
Editar 20 de enero de 2016
Un desarrollador del equipo de Google anunció que se realizó la corrección y se implementará con la próxima versión principal de Google Play, pero aún no han establecido una línea de tiempo para eso.
Editar jun 02, 2016
Un desarrollador del equipo de Google ha anunciado que se confirma que se corrigió:
Lamento que esto haya tardado tanto en solucionarse, ¡pero aquí está la corrección de errores que estaba esperando!
Podemos confirmar que este problema ahora está solucionado en la versión 9.0.83 de Google Play Services, lanzada en mayo de 2016.
Ok encontré la solución en mi caso 5 horas después.
Sin tocar el dispositivo (HTC Desire X 4.1.1) todo lo que hice fue instalar una tarjeta SD y el error desapareció mágicamente. Instale la tarjeta SD, reinicie (fotos actualizadas de Google en el proceso por no creo que tenga nada que ver con el problema).
Por el amor de Dios !