android.view.WindowManager$BadTokenException:~~

由於使用了AsyncTask 異步線程在線程完成之後的onPostExecute方法裏面彈出窗口。 
這個時候若是用戶在onPostExecute調用之間按了返回按鈕,activity已經onDestory了, 
那麼就會報出android.view.WindowManager$BadTokenException: Unable to add window -- token android.os.BinderProxy@4479b390 is not valid; is your activity running? 

解決方法一在彈出窗口以前用Activity的isFinishing判斷一下Activity是否還存在 
android

Java代碼  異步

  1. protected void onPostExecute(Object result) {  spa

  2.     if (!isFinishing()) {  線程

  3.         showDialog(MY_DIALOG_ID);  token

  4.     }  it

  5. }  io



解決方法二在show的時候捕獲一下異常。方法

相關文章
相關標籤/搜索
本站公眾號
   歡迎關注本站公眾號,獲取更多信息