2010. 4. 22. 10:53
back key overriding
2010. 4. 22. 10:53 in 개발/모바일OS(안드로이드,아이폰,윈도모바일등)
OnKeyDown() 함수를 overriding하면 됨
참고해야할 사항은 back key를 눌러서 platform에서 이전 activity로 돌아가는 처리를 하는 이벤트가
ACTION_DOWN이벤트라는 거다. (key down + back key가 들어오면 자동종료되고 이후에 key up등은 안들어옮)
그래서 굳이 UP에서도 처리할 필요없고 아래와 같이 처리를 하면 된다.
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK && event.getAction() == KeyEvent.ACTION_DOWN) {
// Do your job~~
}
return true;
}
위의 경우에는 내가 모든 key를 무조건 다 먹어버리는데 back키만 오버라이드하고 나머지는 platform이 알아서
후처리를 하게 하고 싶다면 아래와 같이 변경
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK && event.getAction() == KeyEvent.ACTION_DOWN) {
// Do your job~~
} else {
super.onKeyDown(keyCode, event);
}