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();
    }
  }

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

(0)

相关推荐

  • Android实现点击两次BACK键退出应用

    思路:Android中捕获用户按键是在onKeyDown方法中,只需要判断用户按键是否是KEYCODE_BACK即后退键即可,剩下的即为判断两次点击BACK键时间间隔问题了. 第一种实现方式: package com.example.clickexittest; import android.app.Activity; import android.os.Bundle; import android.os.Handler; import android.os.Message; import an

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

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

  • React Native中Android物理back键按两次返回键即退出应用

    前言 本文主要给大家介绍了关于React Native中Android物理back键按两次返回键就会退出应用的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧. 话不多说,直接上图: 测试代码 第16~22行 设置事件监听以及移除事件监听. componentWillMount(){ BackAndroid.addEventListener('hardwareBackPress', this.onBackAndroid); } componentWillUnmount()

  • Android Back键点击两次退出应用详解及实现方法总结

    思路:Android中捕获用户按键是在onKeyDown方法中,只需要判断用户按键是否是KEYCODE_BACK即后退键即可,剩下的即为判断两次点击BACK键时间间隔问题了 第一种实现方式 package com.example.clickexittest; import android.app.Activity; import android.os.Bundle; import android.os.Handler; import android.os.Message; import andr

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

    Android 双击Back键退出应用的实现方法 实现原理: 双击退出程序的原理无非就是设置一个退出标识(询问是否退出),如果改变了这个标识(确认退出),则再次点击时立马退出,如果规定时间内没有退出,则延时重置这个标识(不退出). 延时重置: 使用 Java API 提供了 Timer 类,它能够执行定时任务.利用 Timer 就能够对标识进行延时重置. Timer 对象的 schedule( ) 方法需要一个 TimerTask 对象和一个时间长度(毫秒)作为参数.TimerTask 对象需要

  • Android实现双击返回键退出应用实现方法详解

    前言 现在市面上很多应用都会有当用户按返回键的时候提示用户:再按一次将退出应用的提示,也就是双击双击返回键退出应用,接下来我们就用几种办法来实现这个功能 效果图 实现 第一种办法 响应Activity的 onKeyUp事件,两次点击时间大于2秒钟就不响应,小于2秒钟就退出程序 代码: //记录用户首次点击返回键的时间 private long firstTime = 0; /** * 第一种解决办法 通过监听keyUp * @param keyCode * @param event * @ret

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

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

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

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

  • ionic2.0双击返回键退出应用

    最近才把ionic的版本更新到2.0,所以便想感受一下2.0版本带来的新体验. 看了官方网站以及网上的各种介绍后,才知道这2.0版本结合了TypeScript和ES6,和1.0+版本有很大的不同,所以在此记录下使用2.0版本开发应用的过程与代码.此文就是介绍在2.0版本双击返回键退出应用. 先在这说下我从更新后到现在的经验吧.ionic2.0的项目目录和以前不一样了,而且是在/app这个文件夹下开发的,html.scss和ts文件都在这里,生成一个页面需要的三个文件(html.scss.ts)是

  • Cordova(ionic)项目实现双击返回键退出应用

    Android原生项目实现双击返回键退出应用,是十分简单的,添加如下代码即可实现: //记录按键时间 private long exitTime; @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if(keyCode == KeyEvent.KEYCODE_BACK){ exit(); } return super.onKeyDown(keyCode, event); } public void exit(){

  • ionic+html5+API实现双击返回键退出应用

    使用ionic+MUI联合开发app,鉴于ionic单方面实现的双击返回键过于复杂,所以想出了使用ionic与html5+API一起使用实现双击返回键退出应用,单击返回键返回上层的功能. $scope.listenbackbutton = function() { document.addEventListener("plusready", onPlusReady, false); function onPlusReady() { plus.key.addEventListener(&

  • 模拟按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() { } //实例化

随机推荐