Подтвердить что ты не робот

Android NullPointerException в Instrumentation.execStartActivity

Я продолжаю получать исключения от некоторых пользователей:

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)

Я нашел аналогичную проблему здесь, но с апреля этого не позаботился. Все, что я знаю, это то, что он был воспроизведен на Samsung Galaxy Y (GT-S5360), и я использую Google Maps Android API v2.

Есть ли у вас какие-либо идеи, как я могу сделать обходной путь для этого?

4b9b3361

Ответ 1

У меня такая же ошибка, я также использую API Карт Google. Кажется, это происходит на всех версиях 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) 

как я где-то читал, решение:

Вышеупомянутая проблема может возникнуть, если у вас есть эмулятор или устройство, в котором сервисы Google Play не установлены. У меня нет идеального решения, но я решил немного поработать, чтобы спасти приложение от сбоев. В этом случае вам нужно выполнить простые шаги

  • Заменить startActivityForResult (намерение, код запроса)
  • В startActivityForResult добавить супер вызов super.startActivityForResult в try catch и catch NullPointerException

Простота его выполнения Теперь вы можете уловить здесь исключение nullpointer и добавить обработку ошибок в catch

@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
    }
}

Ответ 2

в моем случае сбой в Instrumentation.java

строка 1581,

android.util.SeempLog.record_str (377, intent.toString());

намерение равно нулю, то NPE

не уверен как это исправить