Unmarshalling неизвестного исключения типа кода при возобновлении

У меня есть приложение, в котором я получил табуляцию с двумя фрагментами, приложение работает отлично, но когда я закрываю приложение с помощью кнопки меню и некоторое время использую другие приложения, а когда я возобновляю свое приложение, оно вылетает со следующим исключением

ИСКЛЮЧИТЕЛЬНОЕ ИСКЛЮЧЕНИЕ: основной процесс: com.example.com, PID: 5674 java.lang.RuntimeException: невозможно запустить действие ComponentInfo{com.example.com/com.example.ui.activity.MainActivity}: java.lang.RuntimeException: Посылка android.os.Parcel@9095b3a: Снять код неизвестного типа 3801188 по смещению 4392 в android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2426) в android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2490) в Android.app.ActivityThread.-wrap11(ActivityThread.java) в android.app.ActivityThread$H.handleMessage(ActivityThread.java:1354) в android.os.Handler.dispatchMessage(Handler.java:102) в android.os.Looper. цикл (Looper.java:148) в android.app.ActivityThread.main(ActivityThread.java:5443) в java.lang.reflect.Method.invoke(собственный метод) в com.android.internal.os.ZygoteInit$MethodAndArgsCaller. запустить (ZygoteInit.java:728) на com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618). Причина: java.lang.RuntimeException: Посылка android.os.Par cel @ 9095b3a: отменяет сортировку неизвестного кода типа 3801188 по смещению 4392 в android.os.Parcel.readValue(Parcel.java:2340) в android.os.Parcel.readArrayMapInternal(Parcel.java:2614) в android.os.BaseBundle.unparcel(BaseBundle.java:221) в android.os.Bundle.getSparseParcelableArray(Bundle.java:856) в com.android.internal.policy.PhoneWindow.restoreHierarchyState(PhoneWindow.java:2033) в android.app.Activity.onRestoreInstanceState(Activity.java:1008) в android.app.Activity.performRestoreInstanceState(Activity.java:963) в android.app.Instrumentation.callActivityOnRestoreInstanceState(Instrumentation.java:1186) в android.app.ActivityThread.performLaunchActivity(ActivityThread.java:23)) в android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2490) в android.app.ActivityThread.-wrap11(ActivityThread.java) в android.app.ActivityThread$H.handleMessage(ActivityThread.java:1354) в Android. os.Handler.dispatchMessage (Handler.java:102) на android.os.Looper.loop(Looper.java:148) at android.app.ActivityThread.main(ActivityThread.java:5443) в java.lang.reflect.Method.invoke(собственный метод) в com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:728) на com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)

я попытался отключить Proguard и добавить код ниже, но ничего не помогает

-keepclassmembers class * реализует android.os.Parcelable {статические ** CREATOR; }

у меня есть пользовательское представление, но я не реализовал в них parcelable, также я раздвинул все из фрагмента и просто сохранил представление даже тогда, когда он падал, но когда я просто загружал экземпляр фрагмента, как новый android.support.v4.app.Fragment(); я не понял ошибку

2 ответа

Решение

Я столкнулся с той же проблемой и нашел решение, чтобы снова запустить приложение, чтобы остановить сбой
В вашем MainActivity Использование:

    @Override
protected void onRestoreInstanceState(Bundle savedInstanceState) {
    try {
        super.onRestoreInstanceState(savedInstanceState);
    }catch (Exception e){
        e.printStackTrace();
        Intent intent=new Intent(this,MainActivity.class);
        intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
        intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
        intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        startActivity(intent);
    }
}

Это было связано с ошибкой в ​​SearchView начиная с версии 23.2.0.

Это исправлено в v23.2.1. Обновите свои библиотеки поддержки, чтобы избавиться от исключения.

Другие вопросы по тегам