안드로이드 개발 질문/답변
(글 수 45,052)
안녕하세요.
제가 개발보드하나에 포팅된 안드로이드를 사용중인데요.
호스트에서
# adb shell input keyevent 3
를 통해서 KEY_HOME 을 보드로 날려도 동작하지가 않습니다.
ㅜㅜ
어디를 봐야 할지, 수정 방법이 있을지 궁금합니다.
제가 개발보드하나에 포팅된 안드로이드를 사용중인데요.
호스트에서
# adb shell input keyevent 3
를 통해서 KEY_HOME 을 보드로 날려도 동작하지가 않습니다.
ㅜㅜ
어디를 봐야 할지, 수정 방법이 있을지 궁금합니다.
2009.08.03 10:59:44
답을 드리면 sendevent 커맨드를 활용하시면 됩니다.
sendevent <device> <type> <code> <value>
# adb shell sendevent /dev/input/event0 1 102 1
# adb shell sendevent /dev/input/event0 1 102 0
와 같이 처리해줄수 있습니다. 근데 디바이스의 값들은 포팅된 상황에 따라 틀려질수 있으니. 적절한 값을 넣으시면 될듯.
안드로이드펍은 포팅 관련된 정보가 많지 않습니다. 저도 잘 모르구요.
그럼 이만.
2009.08.04 11:21:20
(추천:
1 / 0)
혹시 보드로 이벤트 전달에 문제가 없다면 아래와 같은 이유로 동작되지 않을 수 있습니다.
Android source 빌드하면 Home키가 제대로 동작하지 않습니다.
PhoneWindowManager.java -- launchHomeFromHotKey()
mKeyguardMediator.verifyUnlock() 호출하는데 이 함수 내용을 보면
KeyguardViewMediator.java -- verifyUnlock()
if (!mUpdateMonitor.isDeviceProvisioned()) {
// don't allow this api when the device isn't provisioned
if (DEBUG) Log.d(TAG, "ignoring because device isn't provisioned");
callback.onKeyguardExitResult(false);
}
Device provisioning 설정이 true가 아니면 결과가 false로 돌아가버려
launchHomeFromHotkey() 함수에서 Home 실행이 이루어지지 않습니다.
SDKSetup을 실행하면 provisioning 설정을 바꿀 수 있습니다.
간단하게는 위 소스 부분을 수정해도 동작합니다.