网上的代码有错误,就是TimeTask 一直运行,没有取消,所以有瑕疵。就是点击几次后,发现明明点击了一次,就退出了,代码逻辑有问题的。
解决思路即使在每点击一次时,创建timeTask,Task结束时,取消Task。
现在更新代码如下: http://androidmaster.iteye.com/blog/1894574
import java.util.Timer;
import java.util.TimerTask;
import android.app.Activity;
import android.widget.Toast;
public class BaseActivity extends Activity {
private static Boolean isExit = false;
Timer tExit = new Timer();
TimerTask task;
@Override
public void onBackPressed() {
if (isExit == false) {
isExit = true;
Toast.makeText(this, "再按一次退出程序", Toast.LENGTH_SHORT).show();
task = new TimerTask() {
@Override
public void run() {
isExit = false;
}
};
tExit.schedule(task, 2000);
} else {
finish();
System.exit(0);
}
};
}