具体情况:
我一个Activity中新开了一个线程去读服务端数据,如果读取失败我会用showDialog提示用户是否重试。但是我如果在showDialog之前就把这个Activity给关了,程序会报错.这个问题肿么解决啊?
错误提示:
11-02 09:02:14.204: ERROR/AndroidRuntime(946): android.view.WindowManager$BadTokenException: Unable to add window -- token [email protected] is not valid; is your activity running?
有什么解决办法么?
------解决方案--------------------
你的activity都关了,上下文应用环境也就没了,也就是context没了,那dialog怎么能显示出来呢? 是吧?呵呵,报错也就是这个原因
------解决方案--------------------
private boolean isActivityRun = true;
private Handler handler = new Handler() {
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
if (isActivityRun == false) {
return;
}
@Override
protected void onDestroy() {
super.onDestroy();
isActivityRun = false;
}