Android:ProgressDialog.show()WindowManager令牌,无效

Android:ProgressDialog.show()WindowManager令牌,无效,android,progressdialog,android-windowmanager,Android,Progressdialog,Android Windowmanager,当我从MainActivity->goto Schedule page->return to MainActivity更改activitys(示例)时,会发生此错误。以前有人建议我需要在onPause()和/或onResume()中处理窗口标记,但是我的尝试没有成功。在不更改活动的情况下,代码运行良好。如果有人能发现我遗漏了什么,那就太好了:)经过大量的搜索、调试和挠头,我终于找到了解决方案 06-28 14:33:14.988: E/AndroidRuntime(18960): android



当我从MainActivity->goto Schedule page->return to MainActivity更改activitys(示例)时,会发生此错误。以前有人建议我需要在onPause()和/或onResume()中处理窗口标记,但是我的尝试没有成功。在不更改活动的情况下,代码运行良好。如果有人能发现我遗漏了什么,那就太好了:)

经过大量的搜索、调试和挠头,我终于找到了解决方案

06-28 14:33:14.988: E/AndroidRuntime(18960): android.view.WindowManager$BadTokenException: Unable to add window -- token android.os.BinderProxy@41888998 is not valid; is your activity running?
06-28 14:33:14.988: E/AndroidRuntime(18960):    at android.view.ViewRootImpl.setView(ViewRootImpl.java:564)
06-28 14:33:14.988: E/AndroidRuntime(18960):    at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:269)
06-28 14:33:14.988: E/AndroidRuntime(18960):    at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:69)
06-28 14:33:14.988: E/AndroidRuntime(18960):    at android.app.Dialog.show(Dialog.java:289)
06-28 14:33:14.988: E/AndroidRuntime(18960):    at com.radioplymouth.RadioPlymouth.MainActivity$1.onReceive(MainActivity.java:144)

我将
else
与toast一起使用,以查看条件何时为真,并且似乎多次调用了封装此代码的
onReceive()
,直到条件不为真为止。我不完全确定这意味着什么,或者为什么会发生,但它是有效的。

经过大量的搜索、调试和挠头,我终于找到了解决方案

06-28 14:33:14.988: E/AndroidRuntime(18960): android.view.WindowManager$BadTokenException: Unable to add window -- token android.os.BinderProxy@41888998 is not valid; is your activity running?
06-28 14:33:14.988: E/AndroidRuntime(18960):    at android.view.ViewRootImpl.setView(ViewRootImpl.java:564)
06-28 14:33:14.988: E/AndroidRuntime(18960):    at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:269)
06-28 14:33:14.988: E/AndroidRuntime(18960):    at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:69)
06-28 14:33:14.988: E/AndroidRuntime(18960):    at android.app.Dialog.show(Dialog.java:289)
06-28 14:33:14.988: E/AndroidRuntime(18960):    at com.radioplymouth.RadioPlymouth.MainActivity$1.onReceive(MainActivity.java:144)
我将
else
与toast一起使用,以查看条件何时为真,并且似乎多次调用了封装此代码的
onReceive()
,直到条件不为真为止。我不完全确定这意味着什么,或者为什么会发生,但是,它是有效的

if(!isFinishing()){
                progress.show();            
                Player.setImageResource(R.drawable.stop);
            }