当前位置 : 主页 > 编程语言 > java >

Android模拟点击延迟解决方法

来源:互联网 收集:自由互联 发布时间:2022-06-23
​ ​ Android模拟点击延迟解决方法 ​​MrLee​​2019-5-172256 Android在root环境下模拟点击是利用adb shell input tap x y,但是连续多次快速点击就太慢了,经过测试差不多300ms每次,这样的效率

Android模拟点击延迟解决方法_root权限

Android模拟点击延迟解决方法

​​MrLee​​2019-5-17 2256


Android在root环境下模拟点击是利用adb shell input tap x y,但是连续多次快速点击就太慢了,经过测试差不多300ms每次,这样的效率也太低了,网上有人说,把所有要执行的点全部放到一个文件中,然后一次性执行这个sh文件,但是这个效率表示太低了,完全不好用。

还有种方法,就是不断的创建新的Process执行新的点击指令,但是这种老是提示获取root权限,非常恼火!!!

有没有更好的办法呢,答案是:有!

今天刚好做这个需求,顺便花了几个小时解决了这个问题,其实非常简单。就是把执行的指令放入后台即可,经测试,一个Process执行一次点击所要的时间是1~5ms,也就是0.001~0.005秒,这个速度可是刚刚的,并且还不会总是提示“获取root权限”,看看下面的100次效果吧。因为点击太快,按钮响应不过来,所以设置成了0.44秒/次

Android模拟点击延迟解决方法_android_02

代码:


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43



​​package​​​ ​​com.android.dev.util;​​

​​import​​​ ​​android.graphics.Point;​​

​​import​​​ ​​java.io.OutputStream;​​

​​/**​​

​​* 用root权限执行Linux下的Shell指令​​

​​*/​​

​​public​​​ ​​class​​​ ​​RootShellCmd {​​

​​private​​​ ​​static​​​ ​​Process process;​​

​​private​​​ ​​static​​​ ​​OutputStream os;​​

​​/**​​

​​* 执行shell指令​​

​​*​​

​​* @param cmd 指令​​

​​*/​​

​​public​​​ ​​static​​​ ​​final​​​ ​​void​​​ ​​exec(String cmd) {​​

​​try​​​ ​​{​​

​​if​​​ ​​(process == ​​​​null​​​​) {​​

​​process = Runtime.getRuntime().exec(​​​​"su"​​​​);​​

​​os = process.getOutputStream();​​

​​}​​

​​os.write(cmd.getBytes());​​

​​os.flush();​​

​​} ​​​​catch​​​ ​​(Exception e) {​​

​​e.printStackTrace();​​

​​}​​

​​}​​

​​/**​​

​​* 后台执行一次按键​​

​​*​​

​​* @param keyCode​​

​​*/​​

​​public​​​ ​​static​​​ ​​final​​​ ​​void​​​ ​​simulateKey(​​​​int​​​ ​​keyCode) {​​

​​exec(String.format(​​​​"input keyevent %d &\n"​​​​, keyCode));​​

​​}​​

​​/**​​

​​* 后台执行一次点击​​

​​*​​

​​* @param point​​

​​*/​​

​​public​​​ ​​static​​​ ​​final​​​ ​​void​​​ ​​simulateClick(Point point) {​​

​​exec(String.format(​​​​"input tap %d %d &\n"​​​​, point.x, point.y));​​

​​}​​

​​}​​


 

上一篇:web继续走起
下一篇:没有了
网友评论