Android 模拟键盘事件

开发中,遇到了需要模拟键盘事件的问题。在这里做一个简单总结。
使用模拟键盘事件,需要知道对用按键的对照表。
参考这个博客

使用Instrumentation类操作

Instrumentation inst = new Instrumentation();
try {
    inst.sendKeyDownUpSync(66); // 这个66 映射码 标识 回车键。
} catch (Exception e) {
    Log.e("tag", "事件出现异常" + e.getMessage());
}
try {
    //这个事件代表  Shift +  tab  组合键。
    long downTime = SystemClock.uptimeMillis();
    long eventTime = downTime;
    inst.sendKeySync(new KeyEvent(downTime, eventTime, KeyEvent.ACTION_DOWN, 61, 0, KeyEvent.META_SHIFT_ON));
    inst.sendKeySync(new KeyEvent(downTime, eventTime, KeyEvent.ACTION_UP, 61, 0, KeyEvent.META_SHIFT_ON));
} catch (Exception e) {
    Log.e("tag", "事件出现异常" + e.getMessage());
}

还有一种方式

try 
{ 
    String keyCommand = "input keyevent " + keycode; 
    Runtime runtime = Runtime.getRuntime(); 
    Process proc = runtime.exec(keyCommand); 
} catch (IOException e) 
 { 
    e.printStackTrace(); 
 }

你可能感兴趣的:(Android 模拟键盘事件)