首先,博主先给大家说说单击退出弹出对话框
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
//点击返回键
if(keyCode==KeyEvent.KEYCODE_BACK){
//声明弹出对象并初始化
AlertDialog.Builder builder=new AlertDialog.Builder(this);
builder.setTitle("提示:");
builder.setMessage("是否退出?");
//设置确定按钮
builder.setNegativeButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
finish();
}
});
//设置取消按钮
builder.setPositiveButton("取消",null);
//显示弹窗
builder.show();
}
return super.onKeyDown(keyCode,event);
}
接下来是双击返回退出程序,单击一下超过2S再单击一下无效
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(MainActivity.this,"再按一次退出程序",Toast.LENGTH_SHORT).show();
firstTime=secondTime;
return true;
}else{
System.exit(0);
}
break;
}
return super.onKeyUp(keyCode, event);
}
实现这种效果还有很多方法,欢迎大家补充哦!