我在崩溃日志记录中看到此错误仅来自Android 6.0.1设备,但不是特定于设备。
Fatal Exception: android.view.WindowManager$BadTokenException: Unable to add window -- token null is not valid; is your activity running?
at android.view.ViewRootImpl.setView(ViewRootImpl.java:849)
at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:337)
at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:91)
at android.widget.PopupWindow.invokePopup(PopupWindow.java:1329)
at android.widget.PopupWindow.showAtLocation(PopupWindow.java:1077)
at android.widget.PopupWindow.showAtLocation(PopupWindow.java:1035)
at com.android.internal.widget.FloatingToolbar$FloatingToolbarPopup.show(FloatingToolbar.java:563)
at com.android.internal.widget.FloatingToolbar.show(FloatingToolbar.java:214)
at com.android.internal.view.FloatingActionMode$FloatingToolbarVisibilityHelper.updateToolbarVisibility(FloatingActionMode.java:411)
at com.android.internal.view.FloatingActionMode$1.run(FloatingActionMode.java:65)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:158)
at android.app.ActivityThread.main(ActivityThread.java:7229)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
有谁知道这个问题的原因/解决方案?它似乎很少发生。
答案 0 :(得分:2)
仅在安装了Android 6.0.1及更高版本的Samsung设备上遇到同样的问题。能够重现它。
问题在于new floating action mode (floating toolbar)
当用户在屏幕上选择一些文本(浮动工具栏出现),转到上一个活动(关闭当前活动)然后,据我所知,android OS正在尝试重新创建它(因为它没有被正确关闭)使用已被破坏的活动对象。
解决方案是正确处理新的ActionMode并在关闭活动之前将其关闭。
答案 1 :(得分:0)
从onPause和on活动中调用webview.onPause 似乎来自onResume活动的webview.onResume() 解决了这个问题。