自转移到androidx以来,开始在Android 7.1上获取BadTokenException。对于Toast link,它应该是7.1中的一个已知错误,但我不确定,因为它只是在我改用androidx之后才启动的。
检查了我的git历史记录,在转换到androidx之前,我没有碰过任何Toast代码。在7.1上,我也没有例外。
很显然,我无法复制它,并且堆栈跟踪没有任何代码参考。异常在不断积累,我需要帮助修复它。
android.view.WindowManager$BadTokenException:
at android.view.ViewRootImpl.setView (ViewRootImpl.java:689)
at android.view.WindowManagerGlobal.addView (WindowManagerGlobal.java:342)
at android.view.WindowManagerImpl.addView (WindowManagerImpl.java:94)
at android.widget.Toast$TN.handleShow (Toast.java:511)
at android.widget.Toast$TN$2.handleMessage (Toast.java:385)
at android.os.Handler.dispatchMessage (Handler.java:102)
at android.os.Looper.loop (Looper.java:163)
at android.app.ActivityThread.main (ActivityThread.java:6228)
at java.lang.reflect.Method.invoke (Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:886)
at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:776)
答案 0 :(得分:0)
类型TOAST不允许使用
在android 7.1.1、7.1.2中添加视图WindowManager.LayoutParams
您可以改用TYPE_SYSTEM_ALERT并在清单中使用警报权限
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />