Android 按两次返回键、长按返回键退出程序
按两次返回键退出程序,方式一:
public class Exit {private boolean isExit = false;private Runnable task = new Runnable() {@Overridepublic void run() {isExit = false;}};public void doExitInOneSecond() {isExit = true;HandlerThread thread = new HandlerThread("doTask");thread.start();new Handler(thread.getLooper()).postDelayed(task, 1000);}public boolean isExit() {return isExit;}public void setExit(boolean isExit) {this.isExit = isExit;}
}
Activity:
public class Back2FinishAppActivity extends Activity {Exit exit = new Exit();/** Called when the activity is first created. */@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);}@Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK) { pressAgainExit(); return true; } return super.onKeyDown(keyCode, event); } private void pressAgainExit() { if (exit.isExit()) { finish(); } else { Toast.makeText(getApplicationContext(), "再按一次退出程序", Toast.LENGTH_SHORT).show(); exit.doExitInOneSecond(); } }
}
按两次返回键退出程序,方法二:
private long exitTime = 0; @Override
public boolean onKeyDown(int keyCode, KeyEvent event) { if(keyCode == KeyEvent.KEYCODE_BACK && event.getAction() == KeyEvent.ACTION_DOWN){ if((System.currentTimeMillis() - exitTime) > 2000){ Toast.makeText(getApplicationContext(), "再按一次退出程序", Toast.LENGTH_SHORT).show(); exitTime = System.currentTimeMillis(); } else { finish(); System.exit(0); } return true; } return super.onKeyDown(keyCode, event);
}
长按返回键退出程序
public boolean dispatchKeyEvent(KeyEvent event) { int keyCode=event.getKeyCode(); switch(keyCode) { case KeyEvent.KEYCODE_BACK: { if(event.isLongPress()) { this.stopService(intent); System.exit(0); return true; }else { return false; } } } return super.dispatchKeyEvent(event); }
Android 按两次返回键、长按返回键退出程序相关推荐
- Android 长按电源键和短按电源键的详细处理流程
1 Android Android4.x在Framework的PhoneWindowManager对Power(KeyEvent.KEYCODE_POWER)和Home(KeyEvent.KEYCOD ...
- Android 关于长按back键退出应用程序的实现
Android 关于长按back键退出应用程序的实现 最近在做一个Android上的应用,碰到一个问题就是如何实现长按back键退出应用程序.在网上查找了很多资料,发现几乎没有这样的实现,大部分在处理 ...
- android长按home键流程
home键在KeyEvent中的键值为3. public static final int KEYCODE_HOME = 3; 当用户按下home键的时候(包括长按),程序会进入 ...
- Android必知必会-长按返回健退出
背景 平常比较常见的都是一定时间间隔内按两次返回键来退出应用,并且第一次点击会有相应的提示,网上资料比较多,这里写一下,长按返回键退出. 实现 实现的方案常用的有两个: 重写dispatchKeyEv ...
- Android rom开发:长按Power键关机/重启优化,告别长时间等待
最近在项目上碰到了这样的问题:在某个apk界面长按power键来选择关机或者重启,apk会出现重启现象,并且更加尴尬的是,在另外的方案上面对比后发现没有问题,明明白白地显示这是系统的锅. 好吧,改!仔 ...
- Android 系统修改长按关机键功能
系统环境 瑞星微 px30 android 8.1系统 要实现的功能 原本长按power键的功能是弹出一个选择对话框,关机和重启功能,长按两个选择项会提示是否要进入安全模式,现将它改成长按恢复出厂功能 ...
- android怎么模拟返回,Android中障蔽返回键,HOME键以及模拟HOME键返回效果的方法...
Android中屏蔽返回键,HOME键以及模拟HOME键返回效果的方法 在Android开发中,有时需要屏蔽一些实体的按键,如HOME键,返回键等实体的按键,实现的方法如下. 1. 屏蔽实体按键 屏蔽 ...
- C语言试题三十三之比较两个字符串的长度,(不得调用c语言提供的求字符串长度的函数),函数返回较长的字符串。若两个字符串长度相同,则返回第一个字符串。
1. 题目 请编写函数function,它的功能是:比较两个字符串的长度,(不得调用c语言提供的求字符串长度的函数),函数返回较长的字符串.若两个字符串长度相同,则返回第一个字符串. 2 .温馨提示 ...
- php比较两个数组的键名统计有交集的数量,php比较两个数组的键名并返回交集的函数array_intersect_key()...
实例 比较两个数组的键名,并返回交集:<?php $a1=array("a"=>"red","b"=>"gree ...
最新文章
- IJCAI 2018 基于主题信息的神经网络作文生成模型
- C语言通讯录管理系统
- php 自动创建文件,php:自动创建多级文件夹
- python入门——条件语句、for、while循环4
- toc](boost::type_erasure::is_subconcept相关的测试程序
- Django的模型类Meta
- Flutter LayoutBuilder 用来获取父布局的尺寸大小
- 影片模块 Dubbo 服务聚合
- RuntimeError: Python is not installed as a framework 错误解决方案
- inline,block 和 inline-block 的区别
- 计算机管理没有Android手机项,我可以从计算机控制Android手机吗? | MOS86
- android 直播 h5,H5移动端直播的要点
- es中的keyword相关功能
- Cypress前端测试左移分享
- [角谷猜想 || 冰雹猜想]的一些瞎想
- 有意思的一些免费API接口整理,包含官网地址以及简介
- json格式简介和相关操作
- python3进阶篇(二)——深析函数装饰器
- 协议篇————7、HTTP协议详解
- 科技品牌软文营销的十个建议,提高你的写作水平
热门文章
- RFM模型(用户分析)
- 基于Java毕业设计新冠疫苗接种预约系统登录源码+系统+mysql+lw文档+部署软件
- 一文帮你分析外贸收款难问题
- 输入关键字的爬虫方法(运行环境python3)
- win10edge启用html5,Win 10 Edge浏览器极速运行的设置方法
- Win10任务栏图标无法右键/取消固定
- html5定义一个变量,JavaScript 变量
- 固本培元之三:Convert、运算符、流程控制语句、ref/out/in三种参数类型
- 互联网晚报 | 10月20日 星期三 | 小米汽车预计2024年量产;阿里发布自研CPU芯片倚天710;《长津湖》票房破50亿元...
- 【python】python异步抓取网站数据【详细过程】