Program/Android Java

[ANDROID] 백키 두 번 눌러 어플(액티비티) 종료시키기

너구리V 2012. 7. 27. 14:44

// 핸들러, 플래그 선언.
private Handler mHandler;
private boolean mFlag = false;


// BACK Handler -> onCreate 안에 넣어주세요!
mHandler = new Handler() {
    @Override
    public void handleMessage(Message msg) {
        if(msg.what == 0) {
            mFlag = false;
        }
    }
};



/*
  백키 이벤트를 가로채서 플래그값 확인 후 처리.
  플래그 값이 true인 상태에서 2초 이내에 백키를 누르면 액티비티 종료.
*/

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    if (keyCode == KeyEvent.KEYCODE_BACK) {
        if(!mFlag) {
            Toast.makeText(list.this"'뒤로'버튼을 한번 더 누르시면 종료됩니다.", Toast.LENGTH_SHORT).show();
            mFlag = true;
            mHandler.sendEmptyMessageDelayed(02000);
            return false;
        } else {
            finish();
        }
    }
    return super.onKeyDown(keyCode, event);
}

반응형