我知道这个问题已经讨论了几次,但相信我,我从来没有得到任何答案.
在我的主要活动中,我使用了少量的Dialog来通知用户一些 *** 作,但我在小米设备上主要(特别是96%)得到了这个特定的错误.
`
Fatal Exception: androID.vIEw.WindowManager$BadTokenExceptionUnable to add window -- token androID.os.BinderProxy@f839de9 is not valID; is your activity running?androID.vIEw.VIEwRootImpl.setVIEw (VIEwRootImpl.java:697)androID.vIEw.WindowManagerGlobal.addVIEw (WindowManagerGlobal.java:347)androID.vIEw.WindowManagerImpl.addVIEw (WindowManagerImpl.java:94)androID.Widget.Toast$TN.handleShow (Toast.java:463)androID.Widget.Toast$TN.handleMessage (Toast.java:346)androID.os.Handler.dispatchMessage (Handler.java:102)androID.os.Looper.loop (Looper.java:163)androID.app.ActivityThread.main (ActivityThread.java:6377)java.lang.reflect.Method.invoke (Method.java)com.androID.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:904)
com.androID.internal.os.ZygoteInit.main(ZygoteInit.java:794)
我介绍了每个Dialog Show方法
if (!MainActivityNew.this.isFinishing())dialogDownload.show();
`
但我仍然在发布模式下出现这个错误,主要是在小米设备上
使用AndroID版本7,请帮助我在过去的一个月里坚持这个问题.
以下是来自Firebase Crashlytics的一些数据
设备
100%小米
*** 作系统
100%AndroID 7
设备状态
4%的背景
解决方法:
这个问题不是因为Dialog而是Toast.主要是这个Toast问题是在androID 7.1版本中,其中上下文变为null.这位先生Solution创造了一个解决方案.我已经测试过,这项工作非常顺利.你可以试试这个.
if (androID.os.Build.VERSION.SDK_INT == 25) { ToastCompat.makeText(context, message, Toast.LENGTH_SHORT) .setBadTokenListener(toast -> { Log.e("Failed toast", message); }).show(); } else { Toast.makeText(context, message, Toast.LENGTH_SHORT).show(); }
总结 以上是内存溢出为你收集整理的java – 致命异常:android.view.WindowManager $BadTokenException无法添加窗口 – 令牌无效;你的活动在运行吗?全部内容,希望文章能够帮你解决java – 致命异常:android.view.WindowManager $BadTokenException无法添加窗口 – 令牌无效;你的活动在运行吗?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)