Мое приложение падает, когда я открываю меню разработчика в приложении.Я не знаю точного названия, но ниже находится меню, при открытии которого происходит сбой приложения.
![in-app developer menu](https://i.stack.imgur.com/Gp7jB.png)
Версии
- Android: 8.0.0
- React Native: 0.47.2
Ошибка
android.view.WindowManager $ BadTokenException: невозможно добавить окно android.view.ViewRootImpl$ W @ 388d962 - отказано в разрешении для типа окна 2003
Adb Logs
09-18 17:45:29.358 6982 6982 E AndroidRuntime: FATAL EXCEPTION: main
09-18 17:45:29.358 6982 6982 E AndroidRuntime: Process: com.numu.app, PID: 6982
09-18 17:45:29.358 6982 6982 E AndroidRuntime: android.view.WindowManager$BadTokenException: Unable to add window android.view.ViewRootImpl$W@388d962 -- permission denied for window type 2003
09-18 17:45:29.358 6982 6982 E AndroidRuntime: at android.view.ViewRootImpl.setView(ViewRootImpl.java:815)
09-18 17:45:29.358 6982 6982 E AndroidRuntime: at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:356)
09-18 17:45:29.358 6982 6982 E AndroidRuntime: at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:93)
09-18 17:45:29.358 6982 6982 E AndroidRuntime: at android.app.Dialog.show(Dialog.java:330)
09-18 17:45:29.358 6982 6982 E AndroidRuntime: at com.facebook.react.devsupport.DevSupportManagerImpl.showDevOptionsDialog(DevSupportManagerImpl.java:482)
09-18 17:45:29.358 6982 6982 E AndroidRuntime: at com.facebook.react.ReactInstanceManager.showDevOptionsDialog(ReactInstanceManager.java:663)
09-18 17:45:29.358 6982 6982 E AndroidRuntime: at com.facebook.react.ReactActivityDelegate.onKeyUp(ReactActivityDelegate.java:166)
09-18 17:45:29.358 6982 6982 E AndroidRuntime: at com.facebook.react.ReactActivity.onKeyUp(ReactActivity.java:82)
09-18 17:45:29.358 6982 6982 E AndroidRuntime: at android.view.KeyEvent.dispatch(KeyEvent.java:2712)
09-18 17:45:29.358 6982 6982 E AndroidRuntime: at android.app.Activity.dispatchKeyEvent(Activity.java:3280)
09-18 17:45:29.358 6982 6982 E AndroidRuntime: at com.android.internal.policy.DecorView.dispatchKeyEvent(DecorView.java:352)
09-18 17:45:29.358 6982 6982 E AndroidRuntime: at android.view.ViewRootImpl$ViewPostImeInputStage.processKeyEvent(ViewRootImpl.java:4768)
09-18 17:45:29.358 6982 6982 E AndroidRuntime: at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:4640)
09-18 17:45:29.358 6982 6982 E AndroidRuntime: at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4175)
09-18 17:45:29.358 6982 6982 E AndroidRuntime: at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4228)
09-18 17:45:29.358 6982 6982 E AndroidRuntime: at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4194)
09-18 17:45:29.358 6982 6982 E AndroidRuntime: at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:4321)
09-18 17:45:29.358 6982 6982 E AndroidRuntime: at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4202)
09-18 17:45:29.358 6982 6982 E AndroidRuntime: at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:4378)
09-18 17:45:29.358 6982 6982 E AndroidRuntime: at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4175)
09-18 17:45:29.358 6982 6982 E AndroidRuntime: at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4228)
09-18 17:45:29.358 6982 6982 E AndroidRuntime: at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4194)
09-18 17:45:29.358 6982 6982 E AndroidRuntime: at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4202)
09-18 17:45:29.358 6982 6982 E AndroidRuntime: at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4175)
09-18 17:45:29.358 6982 6982 E AndroidRuntime: at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4228)
09-18 17:45:29.358 6982 6982 E AndroidRuntime: at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4194)
09-18 17:45:29.358 6982 6982 E AndroidRuntime: at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:4354)
09-18 17:45:29.358 6982 6982 E AndroidRuntime: at android.view.ViewRootImpl$ImeInputStage.onFinishedInputEvent(ViewRootImpl.java:4515)
09-18 17:45:29.358 6982 6982 E AndroidRuntime: at android.view.inputmethod.InputMethodManager$PendingEvent.run(InputMethodManager.java:2465)
09-18 17:45:29.358 6982 6982 E AndroidRuntime: at android.view.inputmethod.InputMethodManager.invokeFinishedInputEventCallback(InputMethodManager.java:2028)
09-18 17:45:29.358 6982 6982 E AndroidRuntime: at android.view.inputmethod.InputMethodManager.finishedInputEvent(InputMethodManager.java:2019)
09-18 17:45:29.358 6982 6982 E AndroidRuntime: at android.view.inputmethod.InputMethodManager$ImeInputEventSender.onInputEventFinished(InputMethodManager.java:2442)
09-18 17:45:29.358 6982 6982 E AndroidRuntime: at android.view.InputEventSender.dispatchInputEventFinished(InputEventSender.java:141)
09-18 17:45:29.358 6982 6982 E AndroidRuntime: at android.os.MessageQueue.nativePollOnce(Native Method)
09-18 17:45:29.358 6982 6982 E AndroidRuntime: at android.os.MessageQueue.next(MessageQueue.java:325)
09-18 17:45:29.358 6982 6982 E AndroidRuntime: at android.os.Looper.loop(Looper.java:142)
09-18 17:45:29.358 6982 6982 E AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:6798)
09-18 17:45:29.358 6982 6982 E AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method)
09-18 17:45:29.358 6982 6982 E AndroidRuntime: at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)
09-18 17:45:29.358 6982 6982 E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767)
09-18 17:45:29.374 4106 9992 W ActivityManager: Force finishing activity com.numu.app/.MainActivity
09-18 17:45:29.494 536 9478 E vendor.qti.bluetooth@1.0-wake_lock: Release wakelock is released
09-18 17:45:29.877 4106 4199 W ActivityManager: Activity pause timeout for ActivityRecord{ffed9d5 u0 com.numu.app/.MainActivity t3548 f}
09-18 17:45:29.882 560 560 E ANDR-PERF-MPCTL: hint lookup failed
09-18 17:45:29.926 4106 4199 W BroadcastQueue: Background execution not allowed: receiving Intent { act=org.codeaurora.action.stk.idle_screen flg=0x10 (has extras) } to com.android.stk/.StkCmdReceiver
09-18 17:45:30.485 5966 6232 W OpenGLRenderer: Incorrectly called buildLayer on View: ShortcutAndWidgetContainer, destroying layer...
09-18 17:45:30.485 5966 6232 W OpenGLRenderer: Incorrectly called buildLayer on View: ShortcutAndWidgetContainer, destroying layer...
09-18 17:45:40.410 4106 4199 W ActivityManager: Activity destroy timeout for ActivityRecord{ffed9d5 u0 com.numu.app/.MainActivity t3548 f}
Я получаю эти журналы, выполнив: adb logcat app-name *: W.
Я видел, что эта проблема в основном возникает на устройствах Oreo с версией RN 48 или выше.Есть несколько решений онлайн, которые включают добавление нативного кода Java.Но я не могу понять их должным образом, и никто из них не работал для меня до сих пор.Ниже приведены ссылки, по которым я следовал: