BadtokenException AndroidX

时间:2018-10-23 02:22:58

标签: android exception toast

自转移到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)

1 个答案:

答案 0 :(得分:0)

类型TOAST不允许使用

在android 7.1.1、7.1.2中添加视图

WindowManager.LayoutParams

您可以改用TYPE_SYSTEM_ALERT并在清单中使用警报权限

 <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />