adb shell 에서 keyevent 를 발생시키는 방법이다.
Test app 을 만들어서 해봤는데...잘 된다...
adb shell에서는 아래와 같이 사용하면 된다.
# input keyevent 4
input keyevent 4
여기서 4는 key code 값이며, keyevent.java 에 보면 나와 있다.
test app 에서는 아래와 같이 사용하면 된다.
이는 input.java 소스에 나와 있다.
안드로이드는 왠만한 코드는 모두 찾아보면 나오는것 같다.
int eventCode = Integer.parseInt(event);
long now = SystemClock.uptimeMillis();
Log.i("SendKeyEvent", event);
try {
KeyEvent down = new KeyEvent(now, now, KeyEvent.ACTION_DOWN, eventCode, 0);
KeyEvent up = new KeyEvent(now, now, KeyEvent.ACTION_UP, eventCode, 0);
(IWindowManager.Stub
.asInterface(ServiceManager.getService("window")))
.injectKeyEvent(down, true);
(IWindowManager.Stub
.asInterface(ServiceManager.getService("window")))
.injectKeyEvent(up, true);
} catch (RemoteException e) {
Log.i("Input", "DeadOjbectException");
}
Android KeyEvent 강제 발생 ( Instrumentation keyCode )
'이전포스트' 카테고리의 다른 글
[Java] JDK (Java development kit ) 설치 및 Setting (0) | 2011.05.19 |
---|---|
[Android] 이벤트 핸들러 - 여러 가지 이벤트 (0) | 2011.05.19 |
[Android] Android System Service Programming. (0) | 2011.04.21 |
[C++] Xcode에서 UnitTest++로 유닛 테스트하기 (0) | 2010.12.17 |
IT 인력 "벤처 떠나 대기업으로" (0) | 2010.12.14 |