< meta http-equiv="description" content="首先定义一个布尔变量,赋初始值false。然后监听退出按钮,点击退出按钮时,如果该布尔变量值为false,则把这个变量置为true;如果该变量为true,则退出程序。最后定义一个时间任务,2秒执行一次"/>

android系统点击两次退出应用程序

[来源] 达内    [编辑] 达内   [时间]2013-02-17

首先定义一个布尔变量,赋初始值false。然后监听退出按钮,点击退出按钮时,如果该布尔变量值为false,则把这个变量置为true;如果该变量为true,则退出程序。最后定义一个时间任务,2秒执行一次

  点击两次再退出,可以避免误点引起退出,提升用户体验。

  实现的思路如下:

  首先定义一个布尔变量,赋初始值false。然后监听退出按钮,点击退出按钮时,如果该布尔变量值为false,则把这个变量置为true;如果该变量为true,则退出程序。最后定义一个时间任务,2秒执行一次,如果布尔变量为true,则置为false。

  这样,在点击第一次退出时,仅仅改变布尔值变量,而不会退出,第二次点击才会退出。如果用户点击了一次,那么2秒之后布尔变量又被置为false,只有2秒内的两次点击才会退出程序。

  private static Boolean isQuit = false;

  Timer timer = new Timer();

  @Override

  public boolean onKeyDown(int keyCode, KeyEvent event) {

  if (keyCode == KeyEvent.KEYCODE_BACK) {

  if (isQuit == false) {

  isQuit = true;

  Toast.makeText(getBaseContext(), "再按一次返回键退出程序", Toast.LENGTH_SHORT).show();

  TimerTask task = null;

  task = new TimerTask() {

  @Override

  public void run() {

  isQuit = false;

  }

  };

  timer.schedule(task, 2000);

  } else {

  finish();

  System.exit(0);

  }

  }

  return false;

  }

资源下载