Android 两种方法实现长按返回健退出
发布时间 - 2026-01-10 22:55:14 点击率:次Android 长按返回健退出

背景
平常比较常见的都是一定时间间隔内按两次返回键来退出应用,并且第一次点击会有相应的提示,网上资料比较多,这里写一下,长按返回键退出。
实现
实现的方案常用的有两个:
重写dispatchKeyEvent(KeyEvent event)方法
重写onKeyDown(int keyCode, KeyEvent event)方法
方案一
@Override
public boolean dispatchKeyEvent(KeyEvent event) {
if (event.getKeyCode() == KeyEvent.KEYCODE_BACK && event.isLongPress()) {
//do something else
System.exit(0);
return true;
}
return false;
}
代码很简单,如果按下了返回键且是长按,则退出。
方案二
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) {
Toast.makeText(this, "长按返回键退出", Toast.LENGTH_SHORT).show();
} else if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 2) {
//do something else
System.exit(0);
}
return false;
}
推荐本方案,可以修改else if中event.getRepeatCount()==的次数来修改长按的时间,event.getRepeatCount() 为0时代表单击了一次,当次数>=1时就代表长按了,值越大,说明按的时间越长。
之所以推荐本方案,因为可以在第一次点击返回键的时候提醒用户。
后记
本来准备多整理些资料一起发出来,掘金刚刚在内测发布工具,这里就手写一篇试试感觉如何,体验还是很棒的。以下是个人意见:
优点:
- 配色漂亮
- 界面干净,写作比较专注,适合有经验的老手
- 响应快,对MarkDown语法的细节处理的不错
缺点:
- 界面没有引导,新手会蒙圈吧
- 左边的写作区的配色是暗色,没有可选性(难道根据时间换白色和黑色主题?)
- 不支持流程图等高级功能
总的来说,基本功能都是有的,界面比较干净,这个是优点也是缺点了,相对而言,更适合把MarkDown语法熟记于心的人。
最后,来个配图看看写作界面:
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
# Android
# 长按返回健退出
# 长按返回健退出几种方法总结
# 长按返回健退出实现代码
# Android Listview中显示不同的视图布局详解及实例代码
# Android实现ImageView阴影和图层效果
# 详解Android中的MVP架构分解和实现
# android使用AsyncTask实现多线程下载实例
# android多种滑动冲突的解决方案
# 很实用的Android日期计算类
# Android实现图片上传功能
# Android 中StringBuffer 和StringBuilder常用方法
# Android获取联系人姓名和电话代码
# Android引导页面的简单实现
# android基于dialog实现等待加载框示例
# 都是
# 重写
# 的人
# 会有
# 两次
# 希望能
# 很简单
# 不支持
# 可选
# 时就
# 按下
# 越大
# 来个
# 谢谢大家
# 比较多
# 表单
# 内测
# 很棒
# 更适合
# 于心
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
Laravel怎么使用Blade模板引擎_Laravel模板继承与Component组件复用【手册】
如何在 React 中条件性地遍历数组并渲染元素
Java类加载基本过程详细介绍
Laravel如何实现多表关联模型定义_Laravel多对多关系及中间表数据存取【方法】
Laravel如何使用Sanctum进行API认证?(SPA实战)
如何快速选择适合个人网站的云服务器配置?
javascript和jQuery中的AJAX技术详解【包含AJAX各种跨域技术】
Python正则表达式进阶教程_复杂匹配与分组替换解析
如何实现建站之星域名转发设置?
Laravel怎么实现搜索功能_Laravel使用Eloquent实现模糊查询与多条件搜索【实例】
详解免费开源的.NET多类型文件解压缩组件SharpZipLib(.NET组件介绍之七)
Laravel Facade的原理是什么_深入理解Laravel门面及其工作机制
高防服务器租用首荐平台,企业级优惠套餐快速部署
如何用5美元大硬盘VPS安全高效搭建个人网站?
什么是JavaScript解构赋值_解构赋值有哪些实用技巧
Laravel如何发送邮件_Laravel Mailables构建与发送邮件的简明教程
PHP的CURL方法curl_setopt()函数案例介绍(抓取网页,POST数据)
Python文件异常处理策略_健壮性说明【指导】
Laravel如何处理表单验证?(Requests代码示例)
Python结构化数据采集_字段抽取解析【教程】
Laravel如何优化应用性能?(缓存和优化命令)
如何在万网主机上快速搭建网站?
移动端脚本框架Hammer.js
JavaScript常见的五种数组去重的方式
LinuxShell函数封装方法_脚本复用设计思路【教程】
如何在服务器上配置二级域名建站?
微信h5制作网站有哪些,免费微信H5页面制作工具?
python中快速进行多个字符替换的方法小结
Linux安全能力提升路径_长期防护思维说明【指导】
Laravel怎么处理异常_Laravel自定义异常处理与错误页面教程
微信小程序 闭包写法详细介绍
极客网站有哪些,DoNews、36氪、爱范儿、虎嗅、雷锋网、极客公园这些互联网媒体网站有什么差异?
如何快速打造个性化非模板自助建站?
Laravel如何配置和使用队列处理异步任务_Laravel队列驱动与任务分发实例
香港服务器网站搭建教程-电商部署、配置优化与安全稳定指南
Win11怎么关闭专注助手 Win11关闭免打扰模式设置【操作】
Laravel Blade模板引擎语法_Laravel Blade布局继承用法
Laravel Eloquent:优雅地将关联模型字段扁平化到主模型中
JS弹性运动实现方法分析
HTML5空格在Angular项目里怎么处理_Angular中空格的渲染问题【详解】
历史网站制作软件,华为如何找回被删除的网站?
Laravel怎么实现软删除SoftDeletes_Laravel模型回收站功能与数据恢复【步骤】
高端智能建站公司优选:品牌定制与SEO优化一站式服务
JS中页面与页面之间超链接跳转中文乱码问题的解决办法
JS中对数组元素进行增删改移的方法总结
北京专业网站制作设计师招聘,北京白云观官方网站?
高防网站服务器:DDoS防御与BGP线路的AI智能防护方案
Laravel用户认证怎么做_Laravel Breeze脚手架快速实现登录注册功能
如何快速搭建二级域名独立网站?
Gemini手机端怎么发图片_Gemini手机端发图方法【步骤】

