본문 바로가기

프로그래밍/안드로이드

[안드로이드 팁] Android KeyEvent 강제 발생 ( Instrumentation keyCode )

Android KeyEvent 강제 발생 ( Instrumentation keyCode )


하드웨어 키를 누른 효과를 프로그래밍 내에서 인위적으로 발생시키는 방법입니다.

Instrumentation 클래스를 사용하면 가능합니다.
만들고 나면 별거 아닌데 이거 만들려고 하루 반나절 시간 보냈음 ㅠㅠ

package com.tistory.jwandroid.instrumentation;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.app.Instrumentation;
import android.os.Handler;
import android.view.KeyEvent;

public class TestInstrumentation extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

Button btn01 = (Button) findViewById(R.id.button);
btn01.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
new Thread(new Runnable() {         
   public void run() {                 
       new Instrumentation().sendKeyDownUpSync(KeyEvent.KEYCODE_VOLUME_UP);
   }   
}).start();
}
});
}
}