按两下返回键退出app(利用时间差)

private long mPressedTime = 0;

@Override

public void onBackPressed() {

//获取第一次按键时间

long mNowTime = System.currentTimeMillis();

//比较两次按键时间差

if((mNowTime - mPressedTime) > 2000){

Toast.makeText(this, "再按一次退出程序", Toast.LENGTH_SHORT).show();

mPressedTime = mNowTime;

}

else{//退出程序

this.finish();

System.exit(0);

}

}

其实还有另一种利用线程延时实现的方法,但是个人觉得从代码的易读性和稳定性上都是这种利用时间差的方式更好;秉承着好的技术多写,麻烦的技术少看的原则我就不推荐了,大家拿着这个直接复制粘贴使用就好了。

你可能感兴趣的:(按两下返回键退出app(利用时间差))