1
用户在退出应用前给出一个提示是很有必要的,因为可能是用户并不真的想退出,而只是一不小心按下了返回键,大部分应用也是这么做的,但也有些应用的做法是在应用退出去前给出一个Dialog,我觉得这样不太友好,用户还得移动手指去按dialog中的“确定”按钮。我觉得再按一次“返回”键退出程序是佳的用户体验,实现也很简单,代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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);
}
1
 
1
 
1
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<span style="white-space:pre">  </span>private long exitTime = 0;
<span style="white-space:pre">  </span>@Override
<span style="white-space:pre">  </span>public boolean onKeyDown(int keyCode, KeyEvent event) {
<span style="white-space:pre">      </span>// TODO Auto-generated method stub
<span style="white-space:pre">      </span>switch (keyCode) {
<span style="white-space:pre">      </span>case KeyEvent.KEYCODE_BACK:
<span style="white-space:pre">          </span>if((System.currentTimeMillis() - exitTime) > 2000){
<span style="white-space:pre">              </span>toast("再按一次返回键退出程序!");
<span style="white-space:pre">              </span>exitTime = System.currentTimeMillis();
<span style="white-space:pre">              </span>return false;
<span style="white-space:pre">          </span>}else{
<span style="white-space:pre">              </span>finish();
<span style="white-space:pre">              </span>System.exit(0);
<span style="white-space:pre">          </span>}
<span style="white-space:pre">          </span>break;
 
 
<span style="white-space:pre">      </span>default:
<span style="white-space:pre">          </span>break;
<span style="white-space:pre">      </span>}
<span style="white-space:pre">      </span>return super.onKeyDown(keyCode, event);
<span style="white-space:pre">  </span>}

结伴旅游,一个免费的交友网站:www.jieberu.com

推推族,免费得门票,游景区:www.tuituizu.com

Android中的“再按一次返回键退出程序”代码实现的更多相关文章

  1. Android中的“再按一次返回键退出程序”实现 (转) 按返回键退出程序时进行提醒

    原文地址: https://blog.csdn.net/xichenguan/article/details/47030303 最近在研究   Android  编程方面的东西, 有了以下发现,  该 ...

  2. Android中的“再按一次返回键退出程序”实现

    用户退出应用前给出一个提示是很有必要的,因为可能是用户并不真的想退出,而只是一不小心按下了返回键,大部分应用的做法是在应用退出去前给出一个Dialog,我觉得这样不太友好,用户还得移动手指去按dial ...

  3. Android中的“再按一次返回键退出程序”实现[转]

    用户退出应用前给出一个提示是很有必要的,因为可能是用户并不真的想退出,而只是一不小心按下了返回键,大部分应用的做法是在应用退出去前给出一个Dialog,我觉得这样不太友好,用户还得移动手指去按dial ...

  4. ANDROID 实现 再按一次返回键退出程序 代码片段

    //1.声明变量 // 退出时间 private long currentBackPressedTime = 0; // 退出间隔 private static final int BACK_PRES ...

  5. Android 完全退出程序,以及再按一次返回键退出程序

    再按一次返回键退出最终完整方案: boolean isExit; @Override    protected void onCreate(Bundle savedInstanceState) {   ...

  6. Android中实现两次点击返回键退出本程序

    1,当用户使用我们的app的时候,有时候无意的或者不是有心的按下了我们的返回键,这时候为了更好的用体验,我们需要让用户再一次确定一下,以便判断用户的真实意图 代码如下: //该功能实现退出时提示的功能 ...

  7. Android中“再按一次返回键退出程序”实现

    private long exitTime = 0; @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if(keyC ...

  8. android 点击返回键退出程序的方法

    android 点击返回键退出程序的方法 第一种: 再按一次返回键退出程序 private long exitTime = 0; @Override public boolean onKeyDown( ...

  9. Android监听返回键、Home键+再按一次返回键退出应用

    Android监听返回键需重写onKeyDown()方法 Home键keyCode==KeyEvent.KEYCODE_HOME @Override public boolean onKeyDown( ...

随机推荐

  1. 2 - sat 模板(自用)

    2-sat一个变量两种状态符合条件的状态建边找强连通,两两成立1 - n 为第一状态(n + 1) - (n + n) 为第二状态 例题模板 链接一  POJ 3207 Ikki's Story IV ...

  2. AI面试必备/深度学习100问1-50题答案解析

    AI面试必备/深度学习100问1-50题答案解析 2018年09月04日 15:42:07 刀客123 阅读数 2020更多 分类专栏: 机器学习   转载:https://blog.csdn.net ...

  3. MySQL中的DML、DQL和子查询

    一.MySQL中的DML语句 1.使用insert插入数据记录: INSERT INTO `myschool`.`student` (`studentNo`, `loginPwd`, `student ...

  4. lesson12Homework

    package StringPractice; public class arrayTest { //1. 把A数组的前5个元素复制到B数组中. public static void main(Str ...

  5. 解决windows系统下ping,ipconfig不是内部或外部命令

    一般情况下,都是误删了系统变量path的值.解决方法:右击我的电脑 → 选择属性 → 选择高级系统设置 → 环境变量 → 在系统变量列表中,找到“path”环境变量双击,打开.在变量值这一栏检测下是否 ...

  6. BZOJ3884题解上帝与集合的正确用法--扩展欧拉定理

    题目链接 https://www.lydsy.com/JudgeOnline/problem.php?id=3884 分析 扩展欧拉定理裸题 欧拉定理及证明: 如果\((a,m)=1\),则\(a^{ ...

  7. 【ExtJs】ext前台中的日期控件传输时间到后台的转换保存过程

    //前台日期选择框 {fieldLabel:, padding: ',afterLabelTextTpl: required,allowBlank: false,format: 'Y-m-d H:i: ...

  8. 1 sql server 中cursor的简介

    1.游标的分类 游标共有3类:API服务器游标.Transaction-SQL游标和API客户端游标. 2 API服务器cursor共有如下几种 静态游标的完整结果集将打开游标时建立的结果集存储在临时 ...

  9. TensorFlow中CNN的两种padding方式“SAME”和“VALID”

    来源 dilation_rate为一个可选的参数,默认为1,这里我们可以先不管它. 整理一下,对于"VALID",输出的形状计算如下: new_height=new_width=⌈ ...

  10. The Preliminary Contest for ICPC Asia Nanjing 2019 B. super_log (广义欧拉降幂)

    In Complexity theory, some functions are nearly O(1)O(1), but it is greater then O(1)O(1). For examp ...