这是我在处理程序尝试从应用程序
启动进度对话框时获得的异常android.view.WindowManager$BadTokenException: Unable to add window -- token null is not for an application
at android.view.ViewRoot.setView(ViewRoot.java:531)
at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:177)
at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:91)
at android.app.Dialog.show(Dialog.java:241)
at android.app.ProgressDialog.show(ProgressDialog.java:107)
at android.app.ProgressDialog.show(ProgressDialog.java:90)
如果有人知道,请提出解决方案
答案 0 :(得分:3)
将您的情境更改为ActivityName.this
因为 BadToken Exception ,所以在您的情况下,您将进度对话框添加到您的活动屏幕,但传递错误的上下文。
答案 1 :(得分:1)
如果粘贴代码会很好。通过错误记录其上下文的问题。您可能正在为正在显示的活动传递不同的上下文。
答案 2 :(得分:0)
对于进度对话框,使用通过方法
获得的上下文getApplicationContext();
答案 3 :(得分:0)
如果粘贴代码会更容易......但仍有两个可能的原因。 1.错误活动的背景。 2.您说您正在通过处理程序启动,请检查处理程序是否与您正在使用上下文相同的活动以启动对话框。