android - BadTokenException 无法添加窗口

标签 android android-view android-alertdialog android-windowmanager

我已经在 Android 市场上发布了一个应用程序。我已经在 HTC 和三星上测试过,它工作正常。但是今天我的应用程序出现了如下错误。

android.view.WindowManager$BadTokenException
Source method 
ViewRoot.setView()

在堆栈跟踪中,

android.view.WindowManager$BadTokenException: Unable to add window -- token
android.os.BinderProxy@4059be38 is not valid; is your activity running?
at android.view.ViewRoot.setView(ViewRoot.java:532)
at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:200)
at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:114)
at android.view.Window$LocalWindowManager.addView(Window.java:424)
at android.app.Dialog.show(Dialog.java:241)
at android.app.AlertDialog$Builder.show(AlertDialog.java:810)
at com.newtglobal.android.Trace.serverBusy(Trace.java:1041)
at com.newtglobal.android.Trace.access$12(Trace.java:1013)
at com.newtglobal.android.Trace$13$1.run(Trace.java:975)
at android.os.Handler.handleCallback(Handler.java:587)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:130)
at android.app.ActivityThread.main(ActivityThread.java:3687)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:507)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:842)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600)
at dalvik.system.NativeStart.main(Native Method)

对于包含混淆代码的应用程序,堆栈跟踪包含混淆符号名称。如果应用程序使用 ProGuard 进行了模糊处理,您可以使用“retrace”工具对堆栈跟踪进行模糊处理,该工具包含在 Android SDK Tools r8 及更高版本中。有关详细信息,请参阅 ProGuard 文档。

问题是什么。如何摆脱这个错误??? 但我在 HTC 和三星上测试过,它工作正常。

最佳答案

我的一个应用程序也有类似的问题;从一些研究来看,看起来您想确保在创建 AlertDialog 时使用的是 Activity Context(而不是 Application Context),并且还想确保您使用的是最顶层的父 Activity(更多信息请参见已接受此帖子的答案:https://stackoverflow.com/a/4011090/202870)。

关于android - BadTokenException 无法添加窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8922591/

相关文章:

android - 如何在项目 gradle.properties 中设置 org.gradle.jvmargs=-Xmx5120M?

android - 我列表中某些项目的不同颜色

android - AlertDialog.html#setView(View, int, int, int, int) 中的整数需要什么单位(px、dip、?)

android - 关闭对话框 Android

android - 插入联系意向、多个电话/电子邮件/等类型?

android - Phone Gap + native 插件中视频捕获的局限性

android - 如果它是在其父级之外绘制的,是否可以检测到 View 点击?

android:contentInsetLeft ="0dp"与 app:contentInsetLeft ="0dp"

Android动态移除tabBar(隐藏)

Android - 为自定义对话框指定自定义主题 AlertDialog.Builder 将内容包装在对话框中