вот как я могу это воспроизвести: мне удалось последовательно добиться
этого
- Открытие приложения.
- Перенос приложения в фоновый режим.
- Открытие настроек приложения и отмена разрешение
(например, местоположение, уведомление). - Попробуйте восстановить приложение из
свернутого состояния. Сбой происходит каждый раз.
reactRootView = ReactRootView(this)
val packages: ArrayList = PackageList(application).packages
packages.add(MYReactPackage())
reactInstanceManager = ReactInstanceManager.builder()
.setApplication(application)
.setCurrentActivity(this)
.setBundleAssetName("index.android.bundle")
.setJSMainModulePath("index")
.addPackages(packages)
.setUseDeveloperSupport(BuildConfig.DEBUG)
.setInitialLifecycleState(LifecycleState.RESUMED)
.build()
Здесь, в Destory:
override fun onDestroy() {
super.onDestroy()
reactInstanceManager.onHostDestroy(this)
reactRootView.unmountReactApplication()
}
Сбой в Firebase:
Caused by java.lang.IllegalStateException: View androidx.fragment.app.FragmentContainerView{37afbb7 V.E...... ......ID 0,0-1080,2058 #7f0a03b1 app:id/nav_host_fragment} does not have a NavController set
at androidx.navigation.Navigation.findNavController(Navigation.kt:71)
at androidx.navigation.fragment.NavHostFragment.onDestroyView(NavHostFragment.kt:310)
at androidx.fragment.app.Fragment.performDestroyView(Fragment.java:3358)
at androidx.fragment.app.FragmentStateManager.destroyFragmentView(FragmentStateManager.java:788)
at androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:344)
at androidx.fragment.app.SpecialEffectsController$FragmentStateManagerOperation.complete$fragment_release(SpecialEffectsController.kt:805)
at androidx.fragment.app.SpecialEffectsController$Operation.cancel(SpecialEffectsController.kt:641)
at androidx.fragment.app.SpecialEffectsController.forceCompleteAllOperations(SpecialEffectsController.kt:355)
at androidx.fragment.app.FragmentManager.dispatchStateChange(FragmentManager.java:3201)
at androidx.fragment.app.FragmentManager.dispatchDestroy(FragmentManager.java:3152)
at androidx.fragment.app.FragmentController.dispatchDestroy(FragmentController.java:346)
at androidx.fragment.app.FragmentActivity.onDestroy(FragmentActivity.java:258)
at androidx.appcompat.app.AppCompatActivity.onDestroy(AppCompatActivity.java:283)
at com.myapp.ui.MainActivity.onDestroy(MainActivity.kt:120)
at android.app.Activity.performDestroy(Activity.java:9304)
at android.app.Instrumentation.callActivityOnDestroy(Instrumentation.java:1566)
at android.app.ActivityThread.performDestroyActivity(ActivityThread.java:5914)
at android.app.ActivityThread.handleDestroyActivity(ActivityThread.java:5959)
at android.app.servertransaction.DestroyActivityItem.execute(DestroyActivityItem.java:47)
at android.app.servertransaction.ActivityTransactionItem.execute(ActivityTransactionItem.java:60)
at android.app.servertransaction.TransactionExecutor.executeLifecycleItem(TransactionExecutor.java:282)
at android.app.servertransaction.TransactionExecutor.executeTransactionItems(TransactionExecutor.java:150)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:93)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2602)
at android.os.Handler.dispatchMessage(Handler.java:107)
at android.os.Looper.loopOnce(Looper.java:232)
at android.os.Looper.loop(Looper.java:317)
at android.app.ActivityThread.main(ActivityThread.java:8623)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:580)
at com.android.internal.os.ExecInit.main(ExecInit.java:50)
at com.android.internal.os.RuntimeInit.nativeFinishInit(RuntimeInit.java)
at com.android.internal.os.RuntimeInit.main(RuntimeInit.java:369)
Подробнее здесь: https://stackoverflow.com/questions/790 ... not-have-a
Мобильная версия