Activity 를 두 번 누르면 종료합니다
Android에서는 버튼의 이벤트를 가져오는 두 가지 방법이 있습니다.
1. 이벤트를 직접 가져오고 누르면 안드로이드 1.0에서 안드로이드 2.1까지 호환되는 일반적인 방법입니다. Activity의 onKeyDown 방법을 직접 다시 쓰면 됩니다. 코드는 다음과 같습니다.
@Override public boolean on Key Down(int key Code, Key Event event) {if(key Code = = Key Event.KEYCODE BACK) {//를 눌렀을 때 Toast.makeText(ml78this, 되돌아오는 키 Back 키 테스트), 1).show(), return true; }
return super.onKeyDown(keyCode, event); }
안드로이드 2.0의 시작에 새로운 방법이 하나 더 생겼다. Activity에서 Back 키를 단독으로 받을 수 있는 누르는 이벤트에 대해 OnBackPressed 방법을 다시 쓰면 된다. 코드는 다음과 같다.
@Override public void on Back Pressed () {//여기서 논리 코드를 처리합니다. 이 방법은 2.0 또는 업데이트 버전의 sdk return에만 적용됩니다.
1 이제 루트 Activity에 대해 2 를 누르면 종료됩니다.
private static boolean isSysExit = false;
@Override
public void onBackPressed() {
// TODO Auto-generated method stub
if(!isSysExit){
isSysExit = true;
DensityUtil.showToast(this, " ");
Timer timer = new Timer();
timer.schedule(new TimerTask() {
@Override
public void run() {
// TODO Auto-generated method stub
isSysExit =false;
}
}, 2000);
}else {
finish();
}
} 2 루트 Activity에서 후퇴 버튼 응답 이벤트를 다시 쓰고 후퇴 버튼을 눌렀을 때 Activity를 백그라운드로 되돌려줍니다
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
// TODO Auto-generated method stub
// Activity
if(keyCode ==KeyEvent.KEYCODE_BACK){
moveTaskToBack(true);
return true;
}
return super.onKeyDown(keyCode, event);
}