React Native (с Android Native). Невозможно уничтожить активность (нет NavController)Android

Форум для тех, кто программирует под Android
Ответить
Anonymous
 React Native (с Android Native). Невозможно уничтожить активность (нет NavController)

Сообщение Anonymous »

Я столкнулся с одной проблемой сбоя в моем приложении Android/React Native. Ниже приведены журналы Firebase.
вот как я могу это воспроизвести: мне удалось последовательно добиться
этого
  • Открытие приложения.
  • Перенос приложения в фоновый режим.
  • Открытие настроек приложения и отмена разрешение
    (например, местоположение, уведомление).
  • Попробуйте восстановить приложение из
    свернутого состояния. Сбой происходит каждый раз.
1. вот моя основная активность при создании:
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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»