Crash:ProgressDialog doesn't dismiss,but activity is destory
Exception information:
- 09-26 13:48:01.777: E/AndroidRuntime(9523): FATAL EXCEPTION: main
- 09-26 13:48:01.777: E/AndroidRuntime(9523): android.view.WindowManager$BadTokenException: Unable to add window -- token android.os.BinderProxy@4078a5e8 is not valid; is your activity running?
- 09-26 13:48:01.777: E/AndroidRuntime(9523): at android.view.ViewRoot.setView(ViewRoot.java:529)
- 09-26 13:48:01.777: E/AndroidRuntime(9523): at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:177)
- 09-26 13:48:01.777: E/AndroidRuntime(9523): at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:91)
- 09-26 13:48:01.777: E/AndroidRuntime(9523): at android.view.Window$LocalWindowManager.addView(Window.java:424)
- 09-26 13:48:01.777: E/AndroidRuntime(9523): at android.app.Dialog.show(Dialog.java:241)
- 09-26 13:48:01.777: E/AndroidRuntime(9523): at 包名及方法名(Unknown Source)
- 09-26 13:48:01.777: E/AndroidRuntime(9523): at android.webkit.CallbackProxy.handleMessage(CallbackProxy.java:281)
- 09-26 13:48:01.777: E/AndroidRuntime(9523): at android.os.Handler.dispatchMessage(Handler.java:99)
- 09-26 13:48:01.777: E/AndroidRuntime(9523): at android.os.Looper.loop(Looper.java:130)
- 09-26 13:48:01.777: E/AndroidRuntime(9523): at android.app.ActivityThread.main(ActivityThread.java:3694)
- 09-26 13:48:01.777: E/AndroidRuntime(9523): at java.lang.reflect.Method.invokeNative(Native Method)
- 09-26 13:48:01.777: E/AndroidRuntime(9523): at java.lang.reflect.Method.invoke(Method.java:507)
- 09-26 13:48:01.777: E/AndroidRuntime(9523): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:841)
- 09-26 13:48:01.777: E/AndroidRuntime(9523): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:599)
- 09-26 13:48:01.777: E/AndroidRuntime(9523): at dalvik.system.NativeStart.main(Native Method)
解决方法:
如果不是Activity强转成Activity,否则直接判断isFinishing()方法。
- try{
- if(((Activity)Context).isFinishing() == false){
- xxx.show();
- }
- }catch(Exception e){
- e.printStackTrace();
- }
转载于:https://blog.51cto.com/emilyzhou/1007358