2014年7月13日 星期日

[Android]點選兩次返回鍵離開/關閉程式 範例

分享給大家~
以下使用 @Override onKeyDown 這個事件來做,

一開始 先設定一個flag 用來判斷是否連續按了兩次
接著判斷按下的是哪個按鍵,再來 
在 onKeyDown 的 Method 中 使用 Thread 來做 該flag的變更
程式碼如下

//判斷離開的flag,設定成全域變數
private boolean is_exit = false;

//點兩次返回鍵離開程式
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
boolean returnValue = false;
if(keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount()==0 && is_exit == false){
Toast.makeText(getBaseContext(), getText(R.string.str_notice_ExitonDoubleKeyDown), Toast.LENGTH_SHORT).show();
is_exit = true;
//一開始 先設定 返回的 flag = true ,若使用者兩秒內沒有動作,則將該 flag 恢復為 false
new Thread(new Runnable() {
public void run() {
try {
Thread.sleep(2000);
is_exit = false;
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}).start();

returnValue = true;
}else{
returnValue = super.onKeyDown(keyCode, event);
}
return returnValue;
}

還有更多的變化可以使用,比如說變更 Toast 的樣式等...
有賴自己的發揮囉
其他方式:
《Android》實現再按一次返回鍵退出應用程式

沒有留言:

張貼留言

Related Posts Plugin for WordPress, Blogger...