安卓实现"再按一次退出程序"效果
来源:互联网 发布:淘宝卖的dw是真的吗 编辑:程序博客网 时间:2024/04/29 16:55
前言
- 各位程序猿是否经常会接到如下图的“再按一次退出程序”的小功能需求?
该功能的实现方式有很多种,最常见的是:
- 多线程Handler()
- 计时器Timetask()
但个人认为使用上述方法存在的问题是:
- 杀猪并不需要用牛刀,大材小用
- 实现步骤复杂
- 消耗系统更多的资源
今天,我将分享一种简单方便、不耗系统资源的方法来实现这个小功能
目录
1. 功能的意义
作为一名程序猿,理解功能的使用场景能有助于选择更好地方式进行功能开发:
- 问:为什么要做一个让用户点两次才能退出的功能呢?这不是明显加大了用户退出的操作成本吗?
- 答:对于移动使用场景,用户的注意力分散,容易出现误操作行为,通过点击两次才能退出是为了降低用户误操作退出的概率
2. 功能实现逻辑
一张流程图让你一目了然
3. 具体代码实现
- 相信你已经很清楚这个功能的逻辑了,接下来,我们来看下如何通过代码实现
- 具体实现的关键:通过在需要退出页面的Activity里复写onKeyDown()方法实现功能逻辑,从而实现该功能。
具体代码实现
MainActivity.java
//声明一个long类型变量:用于存放上一点击“返回键”的时刻 private long mExitTime; @Override public boolean onKeyDown(int keyCode, KeyEvent event) { //判断用户是否点击了“返回键” if (keyCode == KeyEvent.KEYCODE_BACK) { //与上次点击返回键时刻作差 if ((System.currentTimeMillis() - mExitTime) > 2000) { //大于2000ms则认为是误操作,使用Toast进行提示 Toast.makeText(this, "再按一次退出程序", Toast.LENGTH_SHORT).show(); //并记录下本次点击“返回键”的时刻,以便下次进行判断 mExitTime = System.currentTimeMillis(); } else { //小于2000ms则认为是用户确实希望退出程序-调用System.exit()方法进行退出 System.exit(0); } return true; } return super.onKeyDown(keyCode, event); }
4.补充说明
如果你对于系统默认的Toast样式不满意,你可以进行样式的自定义
详情请点击这里
5. 总结
- 能满足需求,简单、方便,希望大家都能学会这种实用的功能实现方法.
阅读全文
0 0
- 安卓实现"再按一次退出程序"效果
- cocos2d-x编译安卓版本时实现“再按一次退出程序”的效果
- cocos2d-x编译安卓版本时实现“再按一次退出程序”的效果
- cocos2d-x编译安卓版本时实现“再按一次退出程序”的效果
- 安卓:实现返回键“再按一次退出程序”
- 简单的实现“再按一次退出程序”效果
- 在安卓的Activity实现再按一次退出程序
- 安卓“再按一次退出应用”的实现
- 安卓“再按一次退出”提示的实现
- 安卓 再按一次退出
- Andriod实现再按一次退出程序
- Android实现再按一次退出程序
- Android小技巧:如何实现“再按一次退出程序”效果
- Android退出程序时的"再按一次退出"实现
- android 关于再按一次退出程序效果
- cocos2dx 中实现再按一次退出效果
- 再按一次退出效果实现 超简单
- cordova实现“再点击一次退出”效果
- Spring的两大核心--IOC和DI
- Android Camera2相机封装讲解(含Demo)
- Java面试题全集(三)
- ES6基础学习(一)
- Android:res之selector背景选择器
- 安卓实现"再按一次退出程序"效果
- 矩阵快速幂 模板
- trait的基本声明和使用
- xml基础知识(7)
- 算法题目---从上往下打印二叉树
- SpringCloudStream 构建消息驱动的微服务框架 集成kafka_http://blog.spring-cloud.io/blog/sc-stream.html
- Python3.x 进阶之路-翻译模块
- JSP 教程
- 算法系列——Combinations