实现这个功能的原理就是比较两次按下返回键的时间间隔,如果大于设定的时间间隔(比如2秒),则提示再按一次返回键退出,否则直接退出程序,代码如下:

package com.example.test;import android.os.Bundle;import android.app.Activity;import android.view.KeyEvent;import android.widget.Toast;public class MainActivity extends Activity {//上次按下返回键的系统时间private long lastBackTime = 0;//当前按下返回键的系统时间private long currentBackTime = 0;    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);    }        @Override    public boolean onKeyDown(int keyCode, KeyEvent event) {    //捕获返回键按下的事件    if(keyCode == KeyEvent.KEYCODE_BACK){    //获取当前系统时间的毫秒数    currentBackTime = System.currentTimeMillis();    //比较上次按下返回键和当前按下返回键的时间差,如果大于2秒,则提示再按一次退出    if(currentBackTime - lastBackTime > 2 * 1000){    Toast.makeText(this, "再按一次返回键退出", Toast.LENGTH_SHORT).show();    lastBackTime = currentBackTime;    }else{ //如果两次按下的时间差小于2秒,则退出程序    finish();    }    return true;    }    return super.onKeyDown(keyCode, event);    }}
程序运行截图如下:



更多相关文章

  1. Android(安卓)View事件派发机制详解与源码分析
  2. 【070】Android(安卓)中相关功能的实现代码
  3. Android(安卓)中文 API (29) —— CompoundButton
  4. android 获取sim卡运营商信息(转)
  5. Android学习笔记•从零开始•第二天•Intent-穿梭在Activity之间
  6. Android(安卓)Back键点击两次退出应用详解及实现方法总结
  7. Android(安卓)中关于Environment类的总结
  8. Android(安卓)WIFI扫描时延
  9. [转]android 网络编程 HttpGet类和HttpPost类使用详解

随机推荐

  1. Android(安卓)studio的快捷键真实屌!!!对了
  2. Android客户端连接SSM(Spring+SpringMVC+M
  3. 深入剖析Android(安卓)Activity
  4. Android:关于声明文件中android:process
  5. 作为一名Android开发者,你有过迷茫吗?
  6. Android触摸事件的应用详解
  7. Android(安卓)Weak Handler:可以避免内存
  8. 离线搭建Android开发环境
  9. Android扫描车牌,车牌拍照识别SDK
  10. android小知识(1)