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(); } }
如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
相关推荐
-
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() { } //实例化
随机推荐
- Oracle中直方图对执行计划的影响详解
- SQL获取第一条记录的方法(sqlserver、oracle、mysql数据库)
- jquery实现文字单行横移或翻转(上下、左右跳转)
- 详解angularjs popup-table 弹出框表格指令
- vue.js表格组件开发的实例详解
- php实现过滤UBB代码的类
- 详解Python中用于计算指数的exp()方法
- CentOS 7下使用RPM安装mysql5.7.13
- 如何用命令行进入mysql具体操作步骤
- php数组函数序列之array_key_exists() - 查找数组键名是否存在
- CSS+Js遮罩效果的TAB及焦点图片切换(推荐)
- Javascript编程中几种继承方式比较分析
- linux whatis与whatis database 使用及查询方法(man使用实例)
- Linux 4.0 不再需要重启
- 语音读单词或句子的批处理
- asp.net 页面之间传递参数的几种方法
- JavaScript 实现 Tab 点击切换实例代码
- 简单介绍JavaScript中字符串创建的基本方法
- Javascript:为input设置readOnly属性(示例讲解)
- jQuery实现动态控制页面元素的方法分析