Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


API de Google Maps Android – NullPointerException – setBoundsInParent

En nuestra aplicación móvil Android (compatible con las versiones de Android 4.0 y superior), utilizamos Google Maps API V2.

Obtenemos algunos informes de errores de los usuarios en algunos tipos de dispositivos (versiones de Android 4.3, 4.4 y 5.0) con una NullPointerException en el método setBoundsInParent de la clase android.view.accessibility.AccessibilityNodeInfo.

La aplicación se bloquea cuando el usuario intenta moverse o hacer zoom en el mapa.

El problema sólo aparece para algunos usuarios: dispositivos. La mayoría de nuestros clientes no tienen ese problema.

El problema parece provenir del uso del método setPadding de la API de Google Maps para posicionar el logotipo de Google de forma que esté siempre claramente visible en el mapa :

@Override protected void onCreate(Bundle savedInstanceState) { ... // Initialize map ... // Sets the padding for the map if(mMap!=null) { mMap.setPadding(0, DPI.toPixels(100), 0, DPI.toPixels(100)); } ... } 

Eliminar la llamada al método setPadding parece resolver el problema para los usuarios afectados, pero no es una solución válida para nosotros porque necesitamos posicionar el logotipo de Google con este método.

No podemos reproducir este problema en nuestros dispositivos de desarrollo, por lo que es difícil para nosotros encontrar el verdadero origen de este problema.

Encontrará los stacktraces completos del error a continuación.

¿Alguien tiene una idea?

Muchas gracias por adelantado por su respuesta.

Atentamente.

Stacktrace en Android 4.3 – 4.4

 java.lang.NullPointerException at android.view.accessibility.AccessibilityNodeInfo.setBoundsInParent(AccessibilityNodeInfo.java:1012) at android.support.v4.view.akc(SourceFile:819) at android.support.v4.view.aib(SourceFile:1850) at com.google.maps.api.android.lib6.c.et.a(Unknown Source) at android.support.v4.widget.ab.a(SourceFile:56) at android.support.v4.widget.ac.a(SourceFile:717) at android.support.v4.view.axa(SourceFile:112) at android.support.v4.view.a.ad.createAccessibilityNodeInfo(SourceFile:42) at android.view.AccessibilityInteractionController$AccessibilityNodePrefetcher.prefetchAccessibilityNodeInfos(AccessibilityInteractionController.java:724) at android.view.AccessibilityInteractionController.findAccessibilityNodeInfoByAccessibilityIdUiThread(AccessibilityInteractionController.java:147) at android.view.AccessibilityInteractionController.access$300(AccessibilityInteractionController.java:49) at android.view.AccessibilityInteractionController$PrivateHandler.handleMessage(AccessibilityInteractionController.java:971) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loop(Looper.java:136) at android.app.ActivityThread.main(ActivityThread.java:5212) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:515) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:602) at dalvik.system.NativeStart.main(Native Method) 

Stacktrace en Android 5.0

 java.lang.NullPointerException: Attempt to read from field 'int android.graphics.Rect.left' on a null object reference at android.view.accessibility.AccessibilityNodeInfo.setBoundsInParent(AccessibilityNodeInfo.java:1316) at android.support.v4.view.akc(SourceFile:819) at android.support.v4.view.aib(SourceFile:1850) at com.google.maps.api.android.lib6.c.et.a(Unknown Source) at android.support.v4.widget.ab.a(SourceFile:56) at android.support.v4.widget.ac.a(SourceFile:717) at android.support.v4.view.axa(SourceFile:112) at android.support.v4.view.a.ad.createAccessibilityNodeInfo(SourceFile:42) at android.view.AccessibilityInteractionController$AccessibilityNodePrefetcher.prefetchAccessibilityNodeInfos(AccessibilityInteractionController.java:894) at android.view.AccessibilityInteractionController.findAccessibilityNodeInfoByAccessibilityIdUiThread(AccessibilityInteractionController.java:155) at android.view.AccessibilityInteractionController.access$400(AccessibilityInteractionController.java:53) at android.view.AccessibilityInteractionController$PrivateHandler.handleMessage(AccessibilityInteractionController.java:1236) 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) 

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.