티스토리 뷰

Mobile/Android

[Android]2.0미만에서 BackKey 제어

out of coding 2014. 9. 11. 18:33

API가 발전하면서, KeyEvent를 받아서 처리하는 부분을 자동으로 처리를 하여주게 되었다.

그러나, 그 API 이전버전은 개발자가 처리를 하여 주어야 하는데.. 방법은 다음과 같다.

하지만. 개발 자체를 2.0도 하지 않는데... 쓸모가 없겠지만. BackKey등을 Catch하여서 사용할 용도가 있다면,

수정을 하여서 사용하면 될것 같다.


@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
	Log.v(TAG, "onKeyDown");
	if(keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) {
		event.startTracking();
		return true;
	}
	
	return super.onKeyDown(keyCode, event);
}

@Override
public boolean onKeyUp(int keyCode, KeyEvent event) {
	Log.v(TAG, "onKeyUp");
	if(keyCode == KeyEvent.KEYCODE_BACK && event.isTracking() && !event.isCanceled()) {
		onBackPressed();
		return true;
	}
	
	return super.onKeyUp(keyCode, event);
}

@Override
public void onBackPressed() {
	Log.v(TAG, "onBackPressed");
	super.onBackPressed();
}

@Override
public boolean dispatchKeyEvent(KeyEvent event) {
	Log.v(TAG, "dispatchKeyEvent");
	return super.dispatchKeyEvent(event);
}

안드로이드 Dev Link

http://developer.android.com/about/versions/android-2.0.html

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함