adb 命令模拟按键事件 模拟 点击 事件
有时我们需要程序模拟按钮或点击,而手机本身又没有,哪么可以采取adb 模拟实现,最后再去实际设备去测试(前期一般都拿不到设备);
如模拟上一首,下一首,暂停等,手机上是没有的,但有些设备上是有的;
//这条命令相当于按了设备的语音键(按此键后,进入语音识别)
public static final int KEY_VOICE = 130;
adb shell input keyevent 130
在Activity 中 实现 onKeyDown,收到KeyEvent.KEYCODE_MEDIA_RECORD后,实现自己需要的功能,返回true即可;
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if(event.getKeyCode() == KeyEvent.KEYCODE_MEDIA_RECORD){ L.e("Receive KeyEvent.KEYCODE_MEDIA_RECORD");
return true;
}
return super.onKeyDown(keyCode, event);
}
其它:
//可以解锁屏幕
adb shell input keyevent 82
//在屏幕上做划屏操作,前四个数为坐标点,后面是滑动的时间(单位毫秒)
adb shell input swipe 50 250 250 250 500
//在屏幕上点击坐标点x=50 y=250的位置。
adb shell input tap 50 250
//输入字符abc
adb shell input text abc
附 其它按键值:
每个数字与keycode对应表如下:
0 --> "KEYCODE_UNKNOWN"
1 --> "KEYCODE_MENU"
2 --> "KEYCODE_SOFT_RIGHT"
3 --> "KEYCODE_HOME"
4 --> "KEYCODE_BACK"
5 --> "KEYCODE_CALL"
6 --> "KEYCODE_ENDCALL"
7 --> "KEYCODE_0"
8 --> "KEYCODE_1"
9 --> "KEYCODE_2"
10 --> "KEYCODE_3"
11 --> "KEYCODE_4"
12 --> "KEYCODE_5"
13 --> "KEYCODE_6"
14 --> "KEYCODE_7"
15 --> "KEYCODE_8"
16 --> "KEYCODE_9"
17 --> "KEYCODE_STAR"
18 --> "KEYCODE_POUND"
19 --> "KEYCODE_DPAD_UP"
20 --> "KEYCODE_DPAD_DOWN"
21 --> "KEYCODE_DPAD_LEFT"
22 --> "KEYCODE_DPAD_RIGHT"
23 --> "KEYCODE_DPAD_CENTER"
24 --> "KEYCODE_VOLUME_UP"
25 --> "KEYCODE_VOLUME_DOWN"
26 --> "KEYCODE_POWER"
27 --> "KEYCODE_CAMERA"
28 --> "KEYCODE_CLEAR"
29 --> "KEYCODE_A"
30 --> "KEYCODE_B"
31 --> "KEYCODE_C"
32 --> "KEYCODE_D"
33 --> "KEYCODE_E"
34 --> "KEYCODE_F"
35 --> "KEYCODE_G"
36 --> "KEYCODE_H"
37 --> "KEYCODE_I"
38 --> "KEYCODE_J"
39 --> "KEYCODE_K"
40 --> "KEYCODE_L"
41 --> "KEYCODE_M"
42 --> "KEYCODE_N"
43 --> "KEYCODE_O"
44 --> "KEYCODE_P"
45 --> "KEYCODE_Q"
46 --> "KEYCODE_R"
47 --> "KEYCODE_S"
48 --> "KEYCODE_T"
49 --> "KEYCODE_U"
50 --> "KEYCODE_V"
51 --> "KEYCODE_W"
52 --> "KEYCODE_X"
53 --> "KEYCODE_Y"
54 --> "KEYCODE_Z"
55 --> "KEYCODE_COMMA"
56 --> "KEYCODE_PERIOD"
57 --> "KEYCODE_ALT_LEFT"
58 --> "KEYCODE_ALT_RIGHT"
59 --> "KEYCODE_SHIFT_LEFT"
60 --> "KEYCODE_SHIFT_RIGHT"
61 --> "KEYCODE_TAB"
62 --> "KEYCODE_SPACE"
63 --> "KEYCODE_SYM"
64 --> "KEYCODE_EXPLORER"
65 --> "KEYCODE_ENVELOPE"
66 --> "KEYCODE_ENTER"
67 --> "KEYCODE_DEL"
68 --> "KEYCODE_GRAVE"
69 --> "KEYCODE_MINUS"
70 --> "KEYCODE_EQUALS"
71 --> "KEYCODE_LEFT_BRACKET"
72 --> "KEYCODE_RIGHT_BRACKET"
73 --> "KEYCODE_BACKSLASH"
74 --> "KEYCODE_SEMICOLON"
75 --> "KEYCODE_APOSTROPHE"
76 --> "KEYCODE_SLASH"
77 --> "KEYCODE_AT"
78 --> "KEYCODE_NUM"
79 --> "KEYCODE_HEADSETHOOK"
80 --> "KEYCODE_FOCUS"
81 --> "KEYCODE_PLUS"
82 --> "KEYCODE_MENU"
83 --> "KEYCODE_NOTIFICATION"
84 --> "KEYCODE_SEARCH"
85 --> "TAG_LAST_KEYCODE"
KEYCODE列表
电话键
|
|
||
| KEYCODE_CALL | 拨号键 | 5 |
| KEYCODE_ENDCALL | 挂机键 | 6 |
| KEYCODE_HOME | 按键Home | 3 |
| KEYCODE_MENU | 菜单键 | 82 |
| KEYCODE_BACK | 返回键 | 4 |
| KEYCODE_SEARCH | 搜索键 | 84 |
| KEYCODE_CAMERA | 拍照键 | 27 |
| KEYCODE_FOCUS | 拍照对焦键 | 80 |
| KEYCODE_POWER | 电源键 | 26 |
| KEYCODE_NOTIFICATION | 通知键 | 83 |
| KEYCODE_MUTE | 话筒静音键 | 91 |
| KEYCODE_VOLUME_MUTE | 扬声器静音键 | 164 |
| KEYCODE_VOLUME_UP | 音量增加键 | 24 |
| KEYCODE_VOLUME_DOWN | 音量减小键 | 25 |
控制键
|
|
||
| KEYCODE_ENTER | 回车键 | 66 |
| KEYCODE_ESCAPE | ESC键 | 111 |
| KEYCODE_DPAD_CENTER | 导航键 确定键 | 23 |
| KEYCODE_DPAD_UP | 导航键 向上 | 19 |
| KEYCODE_DPAD_DOWN | 导航键 向下 | 20 |
| KEYCODE_DPAD_LEFT | 导航键 向左 | 21 |
| KEYCODE_DPAD_RIGHT | 导航键 向右 | 22 |
| KEYCODE_MOVE_HOME | 光标移动到开始键 | 122 |
| KEYCODE_MOVE_END | 光标移动到末尾键 | 123 |
| KEYCODE_PAGE_UP | 向上翻页键 | 92 |
| KEYCODE_PAGE_DOWN | 向下翻页键 | 93 |
| KEYCODE_DEL | 退格键 | 67 |
| KEYCODE_FORWARD_DEL | 删除键 | 112 |
| KEYCODE_INSERT | 插入键 | 124 |
| KEYCODE_TAB | Tab键 | 61 |
| KEYCODE_NUM_LOCK | 小键盘锁 | 143 |
| KEYCODE_CAPS_LOCK | 大写锁定键 | 115 |
| KEYCODE_BREAK | Break/Pause键 | 121 |
| KEYCODE_SCROLL_LOCK | 滚动锁定键 | 116 |
| KEYCODE_ZOOM_IN | 放大键 | 168 |
| KEYCODE_ZOOM_OUT | 缩小键 | 169 |
组合键
|
|
|
| KEYCODE_ALT_LEFT | Alt+Left |
| KEYCODE_ALT_RIGHT | Alt+Right |
| KEYCODE_CTRL_LEFT | Control+Left |
| KEYCODE_CTRL_RIGHT | Control+Right |
| KEYCODE_SHIFT_LEFT | Shift+Left |
| KEYCODE_SHIFT_RIGHT | Shift+Right |
基本
|
|
||
| KEYCODE_0 | 按键'0' | 7 |
| KEYCODE_1 | 按键'1' | 8 |
| KEYCODE_2 | 按键'2' | 9 |
| KEYCODE_3 | 按键'3' | 10 |
| KEYCODE_4 | 按键'4' | 11 |
| KEYCODE_5 | 按键'5' | 12 |
| KEYCODE_6 | 按键'6' | 13 |
| KEYCODE_7 | 按键'7' | 14 |
| KEYCODE_8 | 按键'8' | 15 |
| KEYCODE_9 | 按键'9' | 16 |
| KEYCODE_A | 按键'A' | 29 |
| KEYCODE_B | 按键'B' | 30 |
| KEYCODE_C | 按键'C' | 31 |
| KEYCODE_D | 按键'D' | 32 |
| KEYCODE_E | 按键'E' | 33 |
| KEYCODE_F | 按键'F' | 34 |
| KEYCODE_G | 按键'G' | 35 |
| KEYCODE_H | 按键'H' | 36 |
| KEYCODE_I | 按键'I' | 37 |
| KEYCODE_J | 按键'J' | 38 |
| KEYCODE_K | 按键'K' | 39 |
| KEYCODE_L | 按键'L' | 40 |
| KEYCODE_M | 按键'M' | 41 |
| KEYCODE_N | 按键'N' | 42 |
| KEYCODE_O | 按键'O' | 43 |
| KEYCODE_P | 按键'P' | 44 |
| KEYCODE_Q | 按键'Q' | 45 |
| KEYCODE_R | 按键'R' | 46 |
| KEYCODE_S | 按键'S' | 47 |
| KEYCODE_T | 按键'T' | 48 |
| KEYCODE_U | 按键'U' | 49 |
| KEYCODE_V | 按键'V' | 50 |
| KEYCODE_W | 按键'W' | 51 |
| KEYCODE_X | 按键'X' | 52 |
| KEYCODE_Y | 按键'Y' | 53 |
| KEYCODE_Z | 按键'Z' | 54 |
符号
|
|
|
| KEYCODE_PLUS | 按键'+' |
| KEYCODE_MINUS | 按键'-' |
| KEYCODE_STAR | 按键'*' |
| KEYCODE_SLASH | 按键'/' |
| KEYCODE_EQUALS | 按键'=' |
| KEYCODE_AT | 按键'@' |
| KEYCODE_POUND | 按键'#' |
| KEYCODE_APOSTROPHE | 按键''' (单引号) |
| KEYCODE_BACKSLASH | 按键'\' |
| KEYCODE_COMMA | 按键',' |
| KEYCODE_PERIOD | 按键'.' |
| KEYCODE_LEFT_BRACKET | 按键'[' |
| KEYCODE_RIGHT_BRACKET | 按键']' |
| KEYCODE_SEMICOLON | 按键';' |
| KEYCODE_GRAVE | 按键'`' |
| KEYCODE_SPACE | 空格键 |
小键盘
|
|
|
| KEYCODE_NUMPAD_0 | 小键盘按键'0' |
| KEYCODE_NUMPAD_1 | 小键盘按键'1' |
| KEYCODE_NUMPAD_2 | 小键盘按键'2' |
| KEYCODE_NUMPAD_3 | 小键盘按键'3' |
| KEYCODE_NUMPAD_4 | 小键盘按键'4' |
| KEYCODE_NUMPAD_5 | 小键盘按键'5' |
| KEYCODE_NUMPAD_6 | 小键盘按键'6' |
| KEYCODE_NUMPAD_7 | 小键盘按键'7' |
| KEYCODE_NUMPAD_8 | 小键盘按键'8' |
| KEYCODE_NUMPAD_9 | 小键盘按键'9' |
| KEYCODE_NUMPAD_ADD | 小键盘按键'+' |
| KEYCODE_NUMPAD_SUBTRACT | 小键盘按键'-' |
| KEYCODE_NUMPAD_MULTIPLY | 小键盘按键'*' |
| KEYCODE_NUMPAD_DIVIDE | 小键盘按键'/' |
| KEYCODE_NUMPAD_EQUALS | 小键盘按键'=' |
| KEYCODE_NUMPAD_COMMA | 小键盘按键',' |
| KEYCODE_NUMPAD_DOT | 小键盘按键'.' |
| KEYCODE_NUMPAD_LEFT_PAREN | 小键盘按键'(' |
| KEYCODE_NUMPAD_RIGHT_PAREN | 小键盘按键')' |
| KEYCODE_NUMPAD_ENTER | 小键盘按键回车 |
功能键
|
|
|
| KEYCODE_F1 | 按键F1 |
| KEYCODE_F2 | 按键F2 |
| KEYCODE_F3 | 按键F3 |
| KEYCODE_F4 | 按键F4 |
| KEYCODE_F5 | 按键F5 |
| KEYCODE_F6 | 按键F6 |
| KEYCODE_F7 | 按键F7 |
| KEYCODE_F8 | 按键F8 |
| KEYCODE_F9 | 按键F9 |
| KEYCODE_F10 | 按键F10 |
| KEYCODE_F11 | 按键F11 |
| KEYCODE_F12 | 按键F12 |
多媒体键
|
|
|
| KEYCODE_MEDIA_PLAY | 多媒体键 播放 |
| KEYCODE_MEDIA_STOP | 多媒体键 停止 |
| KEYCODE_MEDIA_PAUSE | 多媒体键 暂停 |
| KEYCODE_MEDIA_PLAY_PAUSE | 多媒体键 播放/暂停 |
| KEYCODE_MEDIA_FAST_FORWARD | 多媒体键 快进 |
| KEYCODE_MEDIA_REWIND | 多媒体键 快退 |
| KEYCODE_MEDIA_NEXT | 多媒体键 下一首 |
| KEYCODE_MEDIA_PREVIOUS | 多媒体键 上一首 |
| KEYCODE_MEDIA_CLOSE | 多媒体键 关闭 |
| KEYCODE_MEDIA_EJECT | 多媒体键 弹出 |
| KEYCODE_MEDIA_RECORD | 多媒体键 录音 |
手柄按键
|
|
|
| KEYCODE_BUTTON_1 | 通用游戏手柄按钮#1 |
| KEYCODE_BUTTON_2 | 通用游戏手柄按钮 #2 |
| KEYCODE_BUTTON_3 | 通用游戏手柄按钮 #3 |
| KEYCODE_BUTTON_4 | 通用游戏手柄按钮 #4 |
| KEYCODE_BUTTON_5 | 通用游戏手柄按钮 #5 |
| KEYCODE_BUTTON_6 | 通用游戏手柄按钮 #6 |
| KEYCODE_BUTTON_7 | 通用游戏手柄按钮 #7 |
| KEYCODE_BUTTON_8 | 通用游戏手柄按钮 #8 |
| KEYCODE_BUTTON_9 | 通用游戏手柄按钮 #9 |
| KEYCODE_BUTTON_10 | 通用游戏手柄按钮 #10 |
| KEYCODE_BUTTON_11 | 通用游戏手柄按钮 #11 |
| KEYCODE_BUTTON_12 | 通用游戏手柄按钮 #12 |
| KEYCODE_BUTTON_13 | 通用游戏手柄按钮 #13 |
| KEYCODE_BUTTON_14 | 通用游戏手柄按钮 #14 |
| KEYCODE_BUTTON_15 | 通用游戏手柄按钮 #15 |
| KEYCODE_BUTTON_16 | 通用游戏手柄按钮 #16 |
| KEYCODE_BUTTON_A | 游戏手柄按钮 A |
| KEYCODE_BUTTON_B | 游戏手柄按钮 B |
| KEYCODE_BUTTON_C | 游戏手柄按钮 C |
| KEYCODE_BUTTON_X | 游戏手柄按钮 X |
| KEYCODE_BUTTON_Y | 游戏手柄按钮 Y |
| KEYCODE_BUTTON_Z | 游戏手柄按钮 Z |
| KEYCODE_BUTTON_L1 | 游戏手柄按钮 L1 |
| KEYCODE_BUTTON_L2 | 游戏手柄按钮 L2 |
| KEYCODE_BUTTON_R1 | 游戏手柄按钮 R1 |
| KEYCODE_BUTTON_R2 | 游戏手柄按钮 R2 |
| KEYCODE_BUTTON_MODE | 游戏手柄按钮 Mode |
| KEYCODE_BUTTON_SELECT | 游戏手柄按钮 Select |
| KEYCODE_BUTTON_START | 游戏手柄按钮 Start |
| KEYCODE_BUTTON_THUMBL | Left Thumb Button |
| KEYCODE_BUTTON_THUMBR | Right Thumb Button |
待查
|
KEYCODE_NUM |
按键Number modifier |
|
KEYCODE_INFO |
按键Info |
|
按键App switch |
|
|
KEYCODE_BOOKMARK |
按键Bookmark |
|
KEYCODE_AVR_INPUT |
按键A/V Receiver input |
|
KEYCODE_AVR_POWER |
按键A/V Receiver power |
|
KEYCODE_CAPTIONS |
按键Toggle captions |
|
KEYCODE_CHANNEL_DOWN |
按键Channel down |
|
KEYCODE_CHANNEL_UP |
按键Channel up |
|
KEYCODE_CLEAR |
按键Clear |
|
KEYCODE_DVR |
按键DVR |
|
KEYCODE_ENVELOPE |
按键Envelope special function |
|
KEYCODE_EXPLORER |
按键Explorer special function |
|
KEYCODE_FORWARD |
按键Forward |
|
KEYCODE_FORWARD_DEL |
按键Forward Delete |
|
KEYCODE_FUNCTION |
按键Function modifier |
|
KEYCODE_GUIDE |
按键Guide |
|
KEYCODE_HEADSETHOOK |
按键Headset Hook |
|
KEYCODE_META_LEFT |
按键Left Meta modifier |
|
KEYCODE_META_RIGHT |
按键Right Meta modifier |
|
KEYCODE_PICTSYMBOLS |
按键Picture Symbols modifier |
|
KEYCODE_PROG_BLUE |
按键Blue “programmable” |
|
KEYCODE_PROG_GREEN |
按键Green “programmable” |
|
KEYCODE_PROG_RED |
按键Red “programmable” |
|
KEYCODE_PROG_YELLOW |
按键Yellow “programmable” |
|
KEYCODE_SETTINGS |
按键Settings |
|
KEYCODE_SOFT_LEFT |
按键Soft Left |
|
KEYCODE_SOFT_RIGHT |
按键Soft Right |
|
KEYCODE_STB_INPUT |
按键Set-top-box input |
|
KEYCODE_STB_POWER |
按键Set-top-box power |
|
KEYCODE_SWITCH_CHARSET |
按键Switch Charset modifier |
|
KEYCODE_SYM |
按键Symbol modifier |
|
KEYCODE_SYSRQ |
按键System Request / Print Screen |
|
KEYCODE_TV |
按键TV |
|
KEYCODE_TV_INPUT |
按键TV input |
|
KEYCODE_TV_POWER |
按键TV power |
|
KEYCODE_WINDOW |
按键Window |
|
KEYCODE_UNKNOWN |
未知按键 |
adb 命令模拟按键事件 模拟 点击 事件的更多相关文章
- Android代码模拟物理、屏幕点击事件
一.应用中模拟物理和屏幕点击事件 例如,模拟对某个view的点击事件 private void simulateClick(View view, float x, float y) { long do ...
- JS怎样将拖拉事件与点击事件分离?
帖子:http://bbs.csdn.net/topics/390785395?page=1#post-397369340 怎样将拖拉事件跟点击事件分离? 须要做到:拖拉时不触动点击事件 <ht ...
- (网页)HTML5 Canvas ( 事件交互, 点击事件为例 ) isPointInPath(转)
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- HTML5 Canvas ( 事件交互, 点击事件为例 ) isPointInPath
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- [前端][自定义DOM事件]不使用setTimeout实现双击事件或n击事件
使用setTimeout实现双击事件 例如,这样: let div = document.getElementById("div"); doubleClick(div, funct ...
- Webbrowser模拟百度一下子点击事件
Webbrowser模拟百度一下点击事件新建一个form,有一个button和一个webbrowser控件.然后webbrowser一开始加载的就是百度主页.然后在文本框里输入点东西,如何做到点击bu ...
- Android长按事件和点击事件问题处理,OnItemLongClickListener和OnItemClickListener冲突问题
今天在做demo时,须要设置ListView的item的长按和点击事件.OnItemLongClickListener和OnItemClickListener,然而点击事件能够实现,可是在长按操作时会 ...
- Android长按事件和点击事件 冲突问题
长按点击的时候默认会触发点击事件,android系统是优先点击的,并且没有返回值:而长按事件是有返回值的,如果返回false,两个事件都会有响应,如果返回true则只响应长按事件.
- threejs Object的点击(鼠标)事件(获取点击事件的object)
objects=[]; raycaster = new THREE.Raycaster(); mouse = new THREE.Vector2(); //监听全局点击事件,通过ray检测选中哪一个o ...
- input中blur失去焦点事件与点击事件冲突时如何解决
方法一 使用setTimeout $(function(){ $(".cy-name-input input").on({ focus:function() { $(". ...
随机推荐
- windows下shopex农行支付接口开发笔记
1.首先是配置Java和tomcat 农行文档里的是linux下的说明.window下我们要按照以下在setclasspath.bat里设置JAVA_HOME,JRE_HOME(红色字体部分).设置这 ...
- Nmap命令的29个实用范例
Nmap即网络映射器对Linux系统/网络管理员来说是一个开源且非常通用的工具.Nmap用于在远程机器上探测网络,执行安全扫描,网络审计和搜寻开放端口.它会扫描远程在线主机,该主机的操作系统,包过滤器 ...
- WSUS目录本地迁移
生产环境中有一台win2003 server,安装了Microsoft Windows Server Update Services 3.0,作为所有windows server的内网补丁更新服务器, ...
- ASP.NET动态加载Js代码到Head标签中(三种方法)
方法一代码如下: HtmlGenericControl Include2 = new HtmlGenericControl("script"); Include2.Attribut ...
- 设置ulimit值(Linux文件句柄数量)永久生效
Linux 默认打开文件数linux 默认打开文件数为1024个,通过ulimit -a 可以查看open files修改这个限制可以使用ulimt -SHn 65536永久生效需要进行下面设置:1. ...
- PLSQL_低效SQL的识别和查询汇总(案例)
2014-12-18 Created By BaoXinjian
- Report_客制化Excel报表中的XLS标记(案例)
2014-06-06 Created By BaoXinjian
- semanage: 未找到命令
[root@hn ~]# semanage port -l|grep ssh-bash: semanage: 未找到命令 yum -y install policycoreutils-python
- 控制WIFI状态
1.控制WIFI public class MainActivity extends Activity { private Button startButton = null; private But ...
- python第一个hello world注意问题!!
如果你第一次写python代码,想写一个通常的hello world ,那么你需要注意这个hello world的写法,这和python的版本有直接关系!!! Python 3.x: print('h ...