Android 双击Back键退出应用的实现方法

Android 双击Back键退出应用的实现方法

实现原理:

双击退出程序的原理无非就是设置一个退出标识(询问是否退出),如果改变了这个标识(确认退出),则再次点击时立马退出,如果规定时间内没有退出,则延时重置这个标识(不退出)。

延时重置:

使用 Java API 提供了 Timer 类,它能够执行定时任务。利用 Timer 就能够对标识进行延时重置。

Timer 对象的 schedule( ) 方法需要一个 TimerTask 对象和一个时间长度(毫秒)作为参数。TimerTask 对象需要重写它的 run( )方法,当 Timer 执行延时任务时,则会执行 TimerTask 的 run( ) 方法。

退出代码

(Activity 中添加)

private boolean quit = false; //设置退出标识 @Override public void onBackPressed() { if (quit == false) { //询问退出程序 Toast.makeText(this, "再按一次退出程序", Toast.LENGTH_SHORT).show(); new Timer(true).schedule(new TimerTask() { //启动定时任务 @Override public void run() { quit = false; //重置退出标识 } }, 2000); //2秒后运行run()方法 quit = true; } else { //确认退出程序 super.onBackPressed(); finish(); } }

如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

时间: 2024-10-26 20:38:47

Android 双击Back键退出应用的实现方法的相关文章

Android实现长按back键退出应用程序的方法

  本文实例讲述了Android实现长按back键退出应用程序的方法.分享给大家供大家参考.具体分析如下: 最近在做一个Android上的应用,碰到一个问题就是如何实现长按back键退出应用程序.在网上查找了很多资料,发现几乎没有这样的实现,大部分在处理时是双击back键来退出应用程序.参考了一下双击back键退出应用程序的代码,网上主流的一种方法是下面这种方法,实现起来比较简单: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 @Override

Android实现长按back键退出应用程序的方法_Android

本文实例讲述了Android实现长按back键退出应用程序的方法.分享给大家供大家参考.具体分析如下: 最近在做一个Android上的应用,碰到一个问题就是如何实现长按back键退出应用程序.在网上查找了很多资料,发现几乎没有这样的实现,大部分在处理时是双击back键来退出应用程序.参考了一下双击back键退出应用程序的代码,网上主流的一种方法是下面这种方法,实现起来比较简单: @Override public boolean onKeyDown(int keyCode, KeyEvent ev

Android双击返回键退出程序的实现方法_Android

本文实例讲述了Android双击返回键退出程序的实现方法,是Android程序开发中一个非常实用的功能,分享给大家供大家参考之用.具体方法如下: 一.实现思路: 用户按下返回键时设定一个定时器来监控是否2秒内实现了退出,如果用户没有接着按返回键,则清除第一次按返回键的效果,使程序还原到第一次按下返回键之前的状态.定时器是每次用户按下返回键才去创建. 二.功能代码: /** * 菜单.返回键响应 */ @Override public boolean onKeyDown(int keyCode,

Android双击返回键退出程序的实现方法

本文实例讲述了Android双击返回键退出程序的实现方法,是Android程序开发中一个非常实用的功能,分享给大家供大家参考之用.具体方法如下: 一.实现思路: 用户按下返回键时设定一个定时器来监控是否2秒内实现了退出,如果用户没有接着按返回键,则清除第一次按返回键的效果,使程序还原到第一次按下返回键之前的状态.定时器是每次用户按下返回键才去创建. 二.功能代码: /** * 菜单.返回键响应 */ @Override public boolean onKeyDown(int keyCode,

Android 双击返回键退出程序的方法总结

Android 双击返回键退出程序的方法总结 下面先说说LZ思路,具体如下: 1. 第一种就是根据用户点击俩次的时间间隔去判断是否退出程序; 2. 第二种就是使用Android中计时器(Timer),其实这俩种都差不多. 思路是有了,,,接下来要怎么开搞呢???用户点击肯定会触发相应的事件,,,我们先来看下面俩个事件的作用... Activity.onKeyDown(); 当某个键被按下时会触发,但不会被任何的该Activity内的任何view处理. 默认按下KEYCODE_BACK键后会回到上

WP8 双击返回键退出

原文:WP8 双击返回键退出 bool isExit = false; // 构造函数 public MainPage() { InitializeComponent(); isExit = false; // 用于本地化 ApplicationBar 的示例代码 //BuildLocalizedApplicationBar(); } protected override void OnBackKeyPress(CancelEventArgs e) { if (!isExit) { isExit

模拟按Home键退出应用的简单方法(分享)

实例如下: func exitApplication() { let app = UIApplication.sharedApplication().delegate as! AppDelegate let window = app.window dispatch_async(dispatch_get_main_queue(), { UIView.animateWithDuration(0.5, animations: { window!.alpha = 0 window?.frame = CG

Android中双击返回键退出应用实例代码

Android中双击返回键退出程序 1.在MyAppliction中(继承Application) //运用list来保存们每一个activity是关键 private List<Activity> mList = new LinkedList<Activity>(); //为了实现每次使用该类时不创建新的对象而创建的静态对象 private static MyApplication instance; //构造方法 public MyApplication() { } //实例化

Android 按后退键退出Android程序的实现方法_Android

主要目的是按后退键的时候,让程序能够退出. 实现起来的思路: 1.捕获到后退键事件就触发. 复制代码 代码如下: @Override  public boolean onKeyDown(int keyCode, KeyEvent event)  {    //按下的如果是BACK,同时没有重复      if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) {          //DO SOMETHING