由於使用了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代碼 異步
protected void onPostExecute(Object result) { spa
if (!isFinishing()) { 線程
showDialog(MY_DIALOG_ID); token
} it
} io
解決方法二在show的時候捕獲一下異常。方法