用户
购买联系
定制软件
智动博客助手
智动终级刷IP工具
首页
首页
/
编程技术
Android 实现模拟按键,模拟操作
时间:
2016年10月25日
点击:
2147
通过Runtime实现,其他方法问题诸多,不太现实,成本太高,该方法是成本非常低的一种可行方法,具体代码见下:
try
{
Runtime
runtime
=
Runtime
.getRuntime();
String
keyCommand
=
"input keyevent "
+ KeyEvent.KEYCODE_MENU;
//
OutputStream su =
Runtime
.
getRuntime
().exec(
"su").getOutputStream();
//需要重复执行仅重新执行以下代码即可,否则速度回非常慢
Process
proc
=
runtime
.exec(keyCommand);
}
catch (IOException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
以下附上按键值码表:
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
;
赞助商链接
热门内容
Navicat 中读取MYSQL数据显中文乱码问题解决方法
Proguard混淆提示类重复(Duplicate zip entry等提示)
phpstorm不安装apache就可以本地测试PHP
C# ListView随窗体大小自动改变列宽
MSScriptControl详解(可实现在C#等语言中调用JAVASCRIPT代码)
C#出现A generic error occurred in GDI+问题分析与解决
C#如何将控件设置为透明效果
钩子(HOOK)函数教程(一)
C#时常需要调用C++DLL问题详解
目录未找到或者无法访问:“ ./data/template”的解决
Sqlite:一个SQL搞定,记录存在不插入或者替换数据
C#实现自定义外观并可拖动和改变大小的窗口
相关内容
Android 实现模拟按键,模拟操作
Sqlite:一个SQL搞定,记录存在不插入或者替换数据
Nginx伪静态配置和常用Rewrite伪静态规则集锦
MQTT协议简要介绍
Navicat 中读取MYSQL数据显中文乱码问题解决方法
phpstorm不安装apache就可以本地测试PHP
Proguard混淆提示类重复(Duplicate zip entry等提示)
Android权限设置总汇
C#出现A generic error occurred in GDI+问题分析与解决
SQLite 简介
用PHP操作sqlite数据库
用JAVA操作SQLite
我们的产品
智动终极刷IP工具
智动博客助手
智动邮件搜索
联系我们
copyright © 2008 - 2021
智动软件
关于我们
联系我们
代理合作
投诉建议
常见问题
常用组件下载