网上的代码有错误,就是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); } }; }