在项目中,其实两次点击退出的功能还是比较常用的,自己找了一些相关资料,自己也写了一个demo运行了一下,效果还不错,记个笔记,免得下次再找。
开发步骤:
① 返回的监听
② 保存两次点击的时间值
③ 时间间隔小于等于2000
④ 在主页面进行finish
// 回调:由开发者重写的方法 但是 由系统去调用。 以on开头,注意:调用条件
// keyCode 键的id
private long[] twotimes = new long[2];
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
// return true 处理事件 消费事件 不要系统处理
if (keyCode == KeyEvent.KEYCODE_BACK) {
// 往前移动时间
twotimes[0] = twotimes[1];
twotimes[1] = System.currentTimeMillis();
Log.i("wzx", Arrays.toString(twotimes));
// ① 返回的监听
// ② 保存两次点击的时间值
// ③ 时间间隔小于等于2000
if (twotimes[1] - twotimes[0] <= 2000) {
// ④ 在主页面进行finish
finish();
} else {
Toast.makeText(getBaseContext(), "点击两次退出", 0).show();
}
return true;
}
return super.onKeyDown(keyCode, event);
}
SystemClock.uptimeMillis() | 开机时间为0 |
System.currentMillions | 以格林尼治时间准备开始 |
long[] arrays = new long[] { 1, 2, 3, 4, 5, 6 };
public void arraycopy(View view) {
Log.i("wzx", Arrays.toString(arrays));
// System.arraycopy(源数组, 源数组开始复制的位置, 目标数组, 目标数组的开始复制位置, 个数);
System.arraycopy(arrays, 0, arrays, 3, 3);
Log.i("wzx", "复制后" + Arrays.toString(arrays));
}