android.view.WindowManager$BadTo…

来源:互联网 发布:剑灵龙族男人数据图 编辑:程序博客网 时间:2024/06/15 00:58

在第二次弹出dialog对话框的时候遇到了以下的错误

AndroidRuntime(2094):android.view.WindowManager$BadTokenException: Unable to add window-- token android.os.BinderProxy@412535c0is not valid; is your activity running?


 因为使用了AsyncTask异步线程在线程完成以后的onPostExecute方法里面弹出窗口。
这个时候如果用户在onPostExecute调用之间按了返回按钮,activity已经onDestory了,
那么就会报出android.view.WindowManager$BadTokenException: Unable to addwindow -- token android.os.BinderProxy@4479b390is not valid; is your activity running?

解决方法一在弹出窗口之前用Activity的isFinishing判断一下Activity是否还存在
protected void onPostExecute(Object result) {
    if(!isFinishing()) {
       showDialog(MY_DIALOG_ID);
    }
}

0 0
原创粉丝点击