Android NullPointerException en Instrumentation.execStartActivity
(1)
Sigo recibiendo la siguiente excepción de algunos usuarios:
java.lang.NullPointerException
at android.app.Instrumentation.execStartActivity(Instrumentation.java:1414)
at android.app.Activity.startActivityForResult(Activity.java:2880)
at android.support.v4.app.FragmentActivity.startActivityForResult(FragmentActivity.java:817)
at android.app.Activity.startActivity(Activity.java:2986)
at com.google.android.gms.internal.bb$5.onClick(Unknown Source)
at android.view.View.performClick(View.java:2535)
at android.view.View$PerformClick.run(View.java:9130)
at android.os.Handler.handleCallback(Handler.java:618)
at android.os.Handler.dispatchMessage(Handler.java:123)
at android.os.Looper.loop(SourceFile:351)
at android.app.ActivityThread.main(ActivityThread.java:3826)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:538)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:969)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:727)
at dalvik.system.NativeStart.main(Native Method)
He encontrado un problema similar here pero no se ha resuelto desde abril. Lo único que sé es que se reprodujo en un Samsung Galaxy Y (GT-S5360) y estoy usando la API de Android de Google Maps v2.
¿Tienes alguna idea de cómo puedo hacer una solución para esto?
Tengo el mismo error, también uso la API de Google Maps. Parece suceder en todas las versiones de Android y teléfonos. Solo por mencionar algunos:
AN10DG3, GT-I8190, F815, GT-I9300, GOOPHONE, HTC One, KFTT, MID8127, KFAPWI, AN10DG3
java.lang.NullPointerException
at android.app.Instrumentation.execStartActivity(Instrumentation.java:1409)
at android.app.Activity.startActivityForResult(Activity.java:3351)
at android.app.Activity.startActivityForResult(Activity.java:3312)
at android.support.v4.app.FragmentActivity.startActivityForResult(FragmentActivity.java:839)
at android.app.Activity.startActivity(Activity.java:3522)
at android.app.Activity.startActivity(Activity.java:3490)
at com.google.android.gms.dynamic.a$5.onClick(Unknown Source)
at android.view.View.performClick(View.java:4084)
at android.view.View$PerformClick.run(View.java:16966)
at android.os.Handler.handleCallback(Handler.java:615)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4745)
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:786)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
at dalvik.system.NativeStart.main(Native Method)
Como leí en alguna parte, la solución es:
El problema mencionado anteriormente puede ocurrir si tiene un emulador o dispositivo en el que los servicios de Google Play no están instalados. No tengo la solución perfecta, pero descubrí algunos problemas para evitar que tu aplicación se bloquee. En este caso hay que seguir unos sencillos pasos.
- Sobrescribir startActivityForResult (intención, código de solicitud)
- En startActivityForResult agregue super call super.startActivityForResult en try catch and catch the NullPointerException
Es fácil, ahora puede atrapar la excepción nullpointerexception y agregar el manejo de errores en la captura
@Override
public void startActivityForResult(Intent intent, int requestCode) {
try {
super.startActivityForResult(intent, requestCode);
} catch (Exception e) {
// fixes Google Maps bug: http://.com/a/20905954/2075875
}
}