Instrumentation.execStartActivity中的Android NullPointerException

我一直从一些用户那里得到了一些例外:

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) 

我在这里发现了一个类似的问题,但是从四月份开始就没有考虑到了。 我所知道的是,它是在三星Galaxy Y(GT-S5360)上复制的,我正在使用Google Maps Android API v2。

你有什么想法我怎么能做出这个解决方法?

Solutions Collecting From Web of "Instrumentation.execStartActivity中的Android NullPointerException"

我有同样的错误,我也使用Google Maps API。 这似乎发生在所有的Android版本和手机上。 只要提到几个:

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) 

正如我在某处读到的,解决办法是:

上面提到的问题可能会发生,如果你有没有安装谷歌播放服务的模拟器或设备。 我没有完美的解决scheme,但我想出了一些解决办法来保存你的应用程序崩溃。 在这种情况下,你必须遵循简单的步骤

  1. 覆盖startActivityForResult(intent,requestcode)
  2. 在startActivityForResult中添加超级调用super.startActivityForResult在try catch并捕获NullPointerException

简单的完成现在你可以陷入这里的nullpointerexception并添加你的error handling捕获

 @Override public void startActivityForResult(Intent intent, int requestCode) { try { super.startActivityForResult(intent, requestCode); } catch (Exception e) { // fixes Google Maps bug: http://stackoverflow.com/a/20905954/2075875 } }