$Android连续按返回键两次实现退出程序
2024-04-08 22:30:08
思路:重写Activity的onKeyDown方法,判断按键是不是返回键,如果是,则再判断按下的时间和上次按下的时间之间的差值(毫秒数)是不是大于2000,如果不大于,则用finish()方法结束程序。Demo如下:
1 import android.app.Activity; 2 import android.os.Bundle; 3 import android.view.KeyEvent; 4 import android.widget.Toast; 5 6 public class TestActivity extends Activity { 7 private long mExitTime; //存在时间,初值为0,用于和当前时间(毫秒数)做差值 8 9 @Override 10 public void onCreate(Bundle savedInstanceState) { 11 super.onCreate(savedInstanceState); 12 setContentView(R.layout.main); 13 14 } 15 16 @Override 17 public boolean onKeyDown(int keyCode, KeyEvent event) { 18 if (keyCode == KeyEvent.KEYCODE_BACK) { 19 if ((System.currentTimeMillis() - mExitTime) > 2000) { //mExitTime的初始值为0,currentTimeMillis()肯定大于2000(毫秒),所以第一次按返回键的时候一定会进入此判断 20 21 Toast.makeText(this, "再按一次退出程序", Toast.LENGTH_SHORT).show(); 22 mExitTime = System.currentTimeMillis(); 23 24 } else { 25 finish(); 26 } 27 return true; 28 } 29 return super.onKeyDown(keyCode, event); 30 } 31 }
转载于:https://www.cnblogs.com/jiayongji/p/5374088.html
最新文章
- NAR:antiSMASH数据库2—次级代谢物基因簇预测
- android studio 打开github开源代码
- 入行Python需要看的4本书推荐
- oracle rac理解和用途扩展
- 【转】5.2高性能IO模型浅析
- linux maven安装
- LintCode2016年8月8日算法比赛----子树
- Machine Learning---LMS 算法
- vim编辑时遇到E325: ATTENTION Found a swap file by the name ./.backu.sh.swp错误代码的解决办法
- 单片机c语言 arduino,单片机C语言程序设计实训100例——基于Arduino+Proteus仿真
- C/C++二路归并排序
- lpop 原子_这个知识孩子掌握了吗?初中化学原子的结构知识梳理
- VMWare 16 pro虚拟机无法开启,打不开磁盘“E:\ubuntu16.04.vmdk”或它所依赖的某个快照磁盘,显示模块“Disk”启动失败
- 大神面试心法教你沉着应对大小公司的笔试面试
- OceanBase | 一文了解OBCA认证内容
- 基于android的校友帮平台系统
- freeswitch通过limit限制cps
- python_matplot_图片批量保存
- 第三方直播平台都有哪些
- 音视频码率,采样率,帧率基础知识
热门文章
- python 十进制与二进制以及位运算
- js中的Object.create(null) 和 {} 的区别
- 重学java基础第二十一课:编译型和解释型
- 前端学习(2932):vue中的v-show
- [html] HTML5如何使用音频和视频?
- [css] 用CSS绘制一个红色的爱心
- [css] 你是如何规划响应式布局的?
- 前端学习(2748):uniapp创建项目和演示
- 工作150:1、根据后台传值动态显示开关状态及文字说明(0为文字,1为图标)
- 工作总结18:Vuex处理思路