1.双击退出APP
重写Activity的onBackPressed()方法
@Override
public void onBackPressed() {
new AlertDialog.Builder(this).setTitle("退出程序").setMessage("确定退出?")
.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
System.exit(0);
}
})
.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
dialogInterface.dismiss();
}
})
.show();
}
2.双击退出(弹出吐司)
private long firstTime = 0;
@Override
public boolean onKeyUp(int keyCode, KeyEvent event) {
switch(keyCode)
{
case KeyEvent.KEYCODE_BACK:
long secondTime = System.currentTimeMillis();
if (secondTime - firstTime > 2000) { //如果两次按下退出键的时差超过了两秒
Toast.makeText(this, "再按一次退出程序", Toast.LENGTH_SHORT).show();
firstTime = secondTime;//更新firstTime
return true;
} else { //两次按下的时间差小于两秒时
//退出app
System.exit(0);
}
break;
}
return super.onKeyUp(keyCode, event);
}
3.双击退出(弹出SanckBar)
1.在app的gradle中添加
compile 'com.android.support:design:25.0.1'
2.在activity中添加以下代码
private long firstTime = 0;
@Override
public boolean onKeyUp(int keyCode, KeyEvent event) {
switch(keyCode)
{
case KeyEvent.KEYCODE_BACK:
long secondTime = System.currentTimeMillis();
if (secondTime - firstTime > 2000) { //如果两次按下退出键的时差超过了两秒
//main可以使这个activity中的任意一个view
Snackbar.make(main, "再次点击退出程序", Snackbar.LENGTH_LONG).show();
firstTime = secondTime;//更新firstTime
return true;
} else { //两次按下的时间差小于两秒时
//退出app
System.exit(0);
}
break;
}
return super.onKeyUp(keyCode, event);
}