退出app的两个方法,一个小demo.
1.第一种方式:
弹出一个dialog ,供选择
代码:
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if(keyCode == event.KEYCODE_BACK){
Builder alert = new AlertDialog.Builder(MainActivity.this);
alert.setTitle("提示");
alert.setMessage("您是否要退出app");
alert.setNegativeButton("取消", listener);
alert.setPositiveButton("确定", listener);
alert.show();
}
return true;
}
/**
* 声明一个监听
* */
DialogInterface.OnClickListener listener = new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
switch(which){
case AlertDialog.BUTTON_NEGATIVE:
dialog.cancel();
break;
case AlertDialog.BUTTON_POSITIVE:
System.exit(0);
break;
}
}
};
其中,取到alertDialog的按钮的id,AlertDialog.BUTTON_POSITIVE 和AlertDialog.BUTTON_NEGATIVE,
2.第二种方式,弹出一个toast提示,用户点击两次,就退出app
/**
* 第二种方法 ,toast提示
* */
private long exitTime;
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if(keyCode == event.KEYCODE_BACK){
if((System.currentTimeMillis() - exitTime) > 2000){
Toast.makeText(MainActivity.this,"再一次退出",Toast.LENGTH_SHORT).show();
exitTime = System.currentTimeMillis();
}else{
System.exit(0);
}
}
return true;
}