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(); 
 }
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  •   JavaScript 与 HTML 之间的交互是通过事件实现的。   事件,就是文档或浏览器窗口中发生的一些特...
    霜天晓阅读 3,578评论 1 11
  • 本文转自(原文太杂乱,这里调整了格式及内容):http://enkichen.com/2018/09/12/osx...
    topws1阅读 18,982评论 0 27
  • 标签(空格分隔): Android 单元测试的好处:Martin Fowler在《重构》里面还解释了为什么单元测试...
    背影杀手不太冷阅读 5,891评论 3 25
  • (本文来自《Custom Keyboard》)自定义键盘为那些希望体验更新颖的输入法或者需要用到iOS不支持的语言...
    RickMao阅读 8,935评论 3 66
  • 下午时间不忙,一个人在展会逛了两个小时,要知道这个是全国顶尖的展会,所有的企业都拿出自己最好的东西来展示给老外,让...
    笑傲江湖201710阅读 131评论 0 0