相信大家在使用android应用的时候当点击返回键的时候,大部分会出现再按一次退出程序或者是会显示一个Dialog提示是否退出。用户退出应用前给出一个友好提示是很有必要的,因为有时候用户并不是真的向退出应用,用户是上帝。下面给大家分享两种退出应用的方式。
①----------------------------再按一次退出
//监听按钮事件
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
//判断是否为返回按钮事件
if(keyCode == KeyEvent.KEYCODE_BACK && event.getAction() == KeyEvent.ACTION_DOWN){
//如果按下返回按钮的时间大于2.5秒,则提示
if((System.currentTimeMillis()-exit) > 2500){
Toast.makeText(getApplicationContext(), "再按一次退出应用", Toast.LENGTH_SHORT).show();
exit = System.currentTimeMillis();
} else {
//如果在2.5秒之之间按了两次back键 则退出应用
finish();
System.exit(0);
}
return true;
}
return super.onKeyDown(keyCode, event);
}
②-----------------------AlertDialog提示
// 捕获返回按钮事件
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
dialog(); return false;
} else {
return super.onKeyDown(keyCode, event);
}
}
// 提示框 protected void dialog() {
AlertDialog.Builder dialog = new AlertDialog.Builder(this);
dialog.setTitle("").setIcon(android.R.drawable.ic_dialog_info)
.setMessage(" 您确认退出程序吗?").setPositiveButton("确定",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
System.exit(0);
}
}).setNegativeButton("取消",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
dialog.cancel();// 取消弹出框
}
}).create().show();
}
}
}