转载请标明出处:
http://blog.csdn.net/ming2316780/article/details/51578796
本文出自:【Android_Jerry的博客】

具体实现方法代码如下:

可对返回按键监听点击次数,进行不同的操作,例如:

  • 双击关闭程序
  • 三击事件
  • 四击事件
  • 多击事件
public class MainActivity extends AppCompatActivity{    private long afterTime = 0;    private long[] mHits = new long[3]; // 数组长度代表点击次数    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);    }    @Override    public void onBackPressed() {        doubleClickFinish();//threeClickFinish();    }    // 多次点击返回键操作,高级实现方法    private void threeClickFinish() {        System.arraycopy(mHits, 1, mHits, 0, mHits.length - 1);        mHits[mHits.length - 1] = SystemClock.uptimeMillis();        if (mHits[0] >= (SystemClock.uptimeMillis() - 500)) {            Toast.makeText(this, "三击返回按钮", Toast.LENGTH_SHORT).show();        }    }    // 双击点击操作,低级实现方法    private void doubleClickFinish() {// 1. SystemClock.uptimeMillis(); 从开机到现在的毫秒数(手机睡眠的时间不包括在内);// 2. System.currentTimeMillis(); 从1970年1月1日 UTC到现在的毫秒数;        long curTime = SystemClock.uptimeMillis();        long time = curTime - afterTime;        if (time < 500) {            finish();        } else {            afterTime = curTime;            Toast.makeText(this, "双击关闭程序", Toast.LENGTH_SHORT).show();        }    }}

更多相关文章

  1. Android事件分发机制(一)
  2. Android四大组件之ContentProvider
  3. android 网络通信(三):Retrofit 2.0 的使用
  4. Android开发系列(二十二):AdapterViewFlipper的功能和使用方法
  5. Android(安卓)播放视频常见问题小结
  6. 调用startactivityforresult后,onactivityresult立刻返回RESULT_C
  7. Android(安卓)Studio 四大组件之 Service的生命周期上
  8. android contacts 联系人搜索解析
  9. Android(安卓)中Binder的解释

随机推荐

  1. 使用Clustered ColumnStore Index插入唯
  2. 数据库sql及索引优化
  3. [置顶] sql server中对日期字段值
  4. SQLSERVER2005调试存储过程跟函数
  5. 烂泥:Wing FTP Server与mysql数据库整合
  6. 【手撸一个ORM】第七步、SqlDataReader转
  7. Flask-SQLAlchemy 中多表链接查询(不使用
  8. 急、急、急 phpexcel导入excel到mysql出
  9. 如何用SQL语句在一个已有数据库内新建一
  10. 在SQL Server CLR中托管.NET方法