본문 바로가기

프로그래밍/Android

안드로이드에서 back버튼 처리


안드로이드에서 back버튼에 대한 처리를 해줘야하는 경우가 있습니다.
일반적으로는 back버튼을 누르면 그 activity가 종료되게 되죠.

저는 activity에서 onBackPressed()메서드를 오버라이드해서 사용했었는데요, 이게 2.0버전부터 지원되는 메서드더군요-_-;;;
그래서 1.6이하의 버전에서는 에러가 나고 종료되더라구요.

1.6이하의 버전에서도 back버튼에 대한 처리를 원활히 해주기 위해서는 onBackPressed() 메서드를 오버라이드 하기 보다는, onKeyDown() 메서드를 오버라이드해서 쓰는 것이 좋습니다. 


@Override    
public boolean onKeyDown(int keyCode, KeyEvent event) {    
    if(keyCode == KeyEvent.KEYCODE_BACK) {
         thread.interrupt();    	
    }
    return false;    
}

위와 같은 식으로 오버라이드해서 사용하면 됩니다.


return을 true로 하면 activity가 종료되지 않고, 
return을 false로 하면 activity가 종료됩니다.