android 实现模拟按键方法一

通过Runtime实现,代码如下:

try
{
String keyCommand = "input keyevent " + KeyEvent.KEYCODE_MENU;
Runtime runtime = Runtime.getRuntime();
Process proc = runtime.exec(keyCommand);
}
catch (IOException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}

这个代码是模拟菜单键,模拟其它按键只需将KeyEvent.KEYCODE_MENU替换成其它键值。

缺点:反应速度较慢

以下附带各KeyCode值:

KEYCODE_UNKNOWN=0; 

KEYCODE_SOFT_LEFT=1; 

KEYCODE_SOFT_RIGHT=2; 

KEYCODE_HOME=3; 

KEYCODE_BACK=4; 

KEYCODE_CALL=5; 

KEYCODE_ENDCALL=6; 

KEYCODE_0=7; 

KEYCODE_1=8; 

KEYCODE_2=9; 

KEYCODE_3=10; 

KEYCODE_4=11; 

KEYCODE_5=12; 

KEYCODE_6=13; 

KEYCODE_7=14; 

KEYCODE_8=15; 

KEYCODE_9=16; 

KEYCODE_STAR=17; 

KEYCODE_POUND=18; 

KEYCODE_DPAD_UP=19; 

KEYCODE_DPAD_DOWN=20; 

KEYCODE_DPAD_LEFT=21; 

KEYCODE_DPAD_RIGHT=22; 

KEYCODE_DPAD_CENTER=23; 

KEYCODE_VOLUME_UP=24; 

KEYCODE_VOLUME_DOWN=25; 

KEYCODE_POWER=26; 

KEYCODE_CAMERA=27; 

KEYCODE_CLEAR=28; 

KEYCODE_A=29; 

KEYCODE_B=30; 

KEYCODE_C=31; 

KEYCODE_D=32; 

KEYCODE_E=33; 

KEYCODE_F=34; 

KEYCODE_G=35; 

KEYCODE_H=36; 

KEYCODE_I=37; 

KEYCODE_J=38; 

KEYCODE_K=39; 

KEYCODE_L=40; 

KEYCODE_M=41; 

KEYCODE_N=42; 

KEYCODE_O=43; 

KEYCODE_P=44; 

KEYCODE_Q=45; 

KEYCODE_R=46; 

KEYCODE_S=47; 

KEYCODE_T=48; 

KEYCODE_U=49; 

KEYCODE_V=50; 

KEYCODE_W=51; 

KEYCODE_X=52; 

KEYCODE_Y=53; 

KEYCODE_Z=54; 

KEYCODE_COMMA=55; 

KEYCODE_PERIOD=56; 

KEYCODE_ALT_LEFT=57; 

KEYCODE_ALT_RIGHT=58; 

KEYCODE_SHIFT_LEFT=59; 

KEYCODE_SHIFT_RIGHT=60; 

KEYCODE_TAB=61; 

KEYCODE_SPACE=62; 

KEYCODE_SYM=63; 

KEYCODE_EXPLORER=64; 

KEYCODE_ENVELOPE=65; 

KEYCODE_ENTER=66; 

KEYCODE_DEL=67; 

KEYCODE_GRAVE=68; 

KEYCODE_MINUS=69; 

KEYCODE_EQUALS=70; 

KEYCODE_LEFT_BRACKET=71; 

KEYCODE_RIGHT_BRACKET=72; 

KEYCODE_BACKSLASH=73; 

KEYCODE_SEMICOLON=74; 

KEYCODE_APOSTROPHE=75; 

KEYCODE_SLASH=76; 

KEYCODE_AT=77; 

KEYCODE_NUM=78; 

KEYCODE_HEADSETHOOK=79; 

KEYCODE_FOCUS=80;//*Camera*focus 

KEYCODE_PLUS=81; 

KEYCODE_MENU=82; 

KEYCODE_NOTIFICATION=83; 

KEYCODE_SEARCH=84; 

KEYCODE_MEDIA_PLAY_PAUSE=85; 

KEYCODE_MEDIA_STOP=86; 

KEYCODE_MEDIA_NEXT=87; 

KEYCODE_MEDIA_PREVIOUS=88; 

KEYCODE_MEDIA_REWIND=89; 

KEYCODE_MEDIA_FAST_FORWARD=90; 

KEYCODE_MUTE=91;

android 实现模拟按键的更多相关文章

  1. Android(Linux)模拟按键、触摸屏等事件

    前提: 在我们应用程序或者在写Android自己主动化測试时候经常会须要模拟实体按键,来给我们做測试用.这也是我要整理的目的. 基本的涉及的是Linux Input Event事件. 下面的样例基于A ...

  2. Android随笔之——模拟按键操作的几种方式

    前几天转过一篇Android上模拟按键操作.触屏事件的博客,昨天又去找了百度.谷歌了一下,写了一点简单的测试代码,留待不时之需.有需要看之前转载的那篇博客的请看这里→_→转:Android随笔之——使 ...

  3. Android 命令行模拟按键

    /***************************************************************************** * Android 命令行模拟按键 * 说 ...

  4. android后台input命令模拟按键【转】

    本文转载自:http://www.cnblogs.com/sh1o2os/archive/2013/02/05/2893201.html 有时做开发时,我们使用的触摸屏没有虚拟按键(HOME.BACK ...

  5. android 模拟按键事件

    模拟按键事件可以提高代码的复用性,比如在一个edittext的回车事件里做的一些处理 在该edittext的另一个输入要做相同的处理时,模拟按键事件就非常方便了. 代码很简单,直接上代码: new T ...

  6. adb shell命令模拟按键/输入input使用keycode 列表详解

    在adb shell里有一个非常使用的命令,模拟按键输入,这里首先不要理解为是键盘的模拟按键,下面命令的使用和键值做一个详解. input命令格式 adb shell input keyevent & ...

  7. delphi 向其他程序发送模拟按键

    向其他程序发送模拟按键: 1.用keybd_event: varh : THandle;beginh := FindWindow('TFitForm', '1stOpt - [Untitled1]') ...

  8. Android隐藏虚拟按键,关闭开机动画、开机声音

    /*********************************************************************** * Android隐藏虚拟按键,关闭开机动画.开机声音 ...

  9. C#获取窗口,模拟按键操作

    C#获取窗口,模拟按键操作,实现计算器模拟操作.首先引用. using System.Runtime.InteropServices; 使用DllImport引入两个函数: // Get a hand ...

随机推荐

  1. mybatis显示sql语句 log4j.properties配置文件

    log4j.properties配置如下: 将ibatis log4j运行级别调到DEBUG可以在控制台打印出ibatis运行的sql语句,方便调试: ### 设置Logger输出级别和输出目的地 # ...

  2. iOS中的固定 高度

    iOS键盘高度   英文 216(不带联想功能) 英文 252(带联想功能)  中文 252 系统自带表情键盘的高度是 253   在使用系统键盘的时候,如果遇到输入框被键盘挡住的情况 就要用通知中心 ...

  3. Sublime Text 3 安装及简单配置

    Sublime Text 3, 一款不错的文本编辑器, 加上各种插件和IDE就能化身各种语言的编译器, 界面以及多种插件的灵活组合搭配更是让程序员们在码代码这种枯燥的生活中增加一点调剂. 下载地址 点 ...

  4. L​i​n​u​x​环​境​变​量​的​设​置​和​查​看​方​法

    L​i​n​u​x​环​境​变​量​的​设​置​和​查​看​方​法 1. 显示环境变量HOME [root@AY1404171530212980a0Z ~]# echo $HOME /root 2. ...

  5. Mybatis+SpringMVC的项目环境搭建

    一.web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi=&qu ...

  6. jquery中json数据转换为字典

    首先在前台页面中的json数据为 var recipe = {}; recipe["name"] = $("#name").val(); recipe[&quo ...

  7. DataGrid表格控件

    代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--& ...

  8. ppshu

    全部书籍已经下载完毕! http://3cvpkfx4gdnkcduj.onion/ https://3cvpkfx4gdnkcduj.onion.cab/ https://3cvpkfx4gdnkc ...

  9. Maven打包时囊括本地依赖的jar包

    在开发中,偶尔会遇到一个问题:某些比较冷门的包,maven服务器上没有,而我们又必须用,通常情况下会在项目中建立一个lib文件夹.将这些包copy进去并加入buildpath,开发就可以继续了,如下图 ...

  10. TPS和QPS的区别

    一.TPS:Transactions Per Second(每秒传输的事物处理个数),即服务器每秒处理的事务数.TPS包括一条消息入和一条消息出,加上一次用户数据库访问.(业务TPS = CAPS × ...