Android 实现按两次返回键退出程序(两种方法)

Android 实现按两次返回键退出程序(两种方法)

第一种方法:

// 是否退出程序 
private static Boolean isExit = false; 
// 定时触发器 
private static Timer tExit = null; 

第二种方法:

public boolean onKeyUp(int keyCode, KeyEvent event) { 
 
 if (keyCode == KeyEvent.KEYCODE_BACK) { 
  if (isExit == false) { 
   isExit = true; 
   if (tExit != null) { 
    tExit.cancel(); // 将原任务从队列中移除 
   } 
   // 重新实例一个定时器 
   tExit = new Timer(); 
   TimerTask task = new TimerTask() { 
    @Override 
    public void run() { 
     isExit = false; 
    } 
   }; 
   Toast.makeText(this, "再按一次退出程序", Toast.LENGTH_SHORT).show(); 
   // 延时两秒触发task任务 
   tExit.schedule(task, 2000); 
  } else { 
   finish(); 
   System.exit(0); 
  } 
  return true; 
 } 
 return super.onKeyUp(keyCode, event); 
} 

原理很简单:定义一个TimerTask定时器和一个是否退出程序的标识isExit,第一次按返回键,赋值isExit标识为true,开启定时器TimerTask 任务,两秒钟后赋值isExit标识为false,所以用户在这两秒中内再按一次返回键,则退出程序。否则定时器TimerTask任务执行,标志为false。原理就是这么简单~

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

你可能感兴趣的:(Android 实现按两次返回键退出程序(两种方法))