相信大家在使用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();
}
}
}