android – 如何找出导致BadTokenExceptions的原因

前端之家收集整理的这篇文章主要介绍了android – 如何找出导致BadTokenExceptions的原因前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在开发一个具有多种活动和服务的 Android应用程序.我正在导入到我的项目中的第三方库中定义了一些活动,问题是在某些设备上(特别是在三星Galaxy Tabs中)我的应用程序在从一个活动切换到之前的活动时通过点击返回时保持崩溃按钮.

我做了一个LogCat,发现这是崩溃的原因:

android.view.WindowManager$BadTokenException: Unable to add window -- token
  android.os.BinderProxy@351c808e is not valid; is your activity running?
at android.view.ViewRootImpl.setView(ViewRootImpl.java:562)
at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:272)
at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:69)
at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:3017)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2365)
at android.app.ActivityThread.access$800(ActivityThread.java:144)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1278)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5221)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)

但有趣的是,我的应用程序的类没有出现在堆栈跟踪上.我在StackOverflow上搜索了类似的问题,但是我发现其他每个报告都有一个BadTokenException的堆栈跟踪,相应的应用程序代码总是出现在堆栈跟踪中.

有谁知道这个问题的常见原因和/或排除故障的最佳方法是什么?我注意到这个问题在三星设备上发生的更多,所以可能是这些设备上的实际错误.

解决方法

通常,当您的活动在调用onAttachToWindow()方法之前(或调用其onDetachFromWindow()方法之后)尝试创建新窗口时,会发生BadTokenExceptions.您使用的第三方库很可能是错误的,并且无法确保满足此要求.
原文链接:https://www.f2er.com/android/315032.html

猜你在找的Android相关文章