在使用 Android 時,不小心按到 Back 鍵而離開應用程式,
應該要有個提示讓使用者知道是否要離開
只要 Override Activity 的 onKeyDown 事件,加上提示的程式即可
常用的方法有二個
1. 使用 Toast 提示,在一定的時間內按二次 Back 鍵
private long exitTime = 0;
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if(keyCode == KeyEvent.KEYCODE_BACK
&& event.getAction() == KeyEvent.ACTION_DOWN){
if((System.currentTimeMillis()-exitTime) > 2000){
Toast.makeText(getContext(), "再按一次退出程序", Toast.LENGTH_SHORT).show();
exitTime = System.currentTimeMillis();
} else {
finish();
System.exit(0);
}
return true;
}
return super.onKeyDown(keyCode, event);
}
2. 使用 AlertDialog ,讓使用者自行決定
new AlertDialog.Builder( getContext)
.setIcon(R.drawable.icon_info).setTitle(" ")
.setMessage("確定要離開應用程式嗎?")
.setNegativeButton("取消", new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
}).setNeutralButton("確定", new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
finish();
System.exit(0);
}
}
).create().show();
No comments:
Post a Comment