码迷,mamicode.com
首页 > 移动开发 > 详细

Android通过指令模拟touch滑动解锁

时间:2016-05-12 17:20:29      阅读:300      评论:0      收藏:0      [点我收藏+]

标签:



手机上有很多输入设备,电源键、音量加减键、触屏等等。这些设备的编号会因每个手机不同而不同,因此我们需要首先了解这个手机上都有哪些输入设备,然后通过脚本操作这些输入设备,实现一些想要的操作,进而通过循环实现自动化测试。

$ adb shell cat /proc/bus/input/devices

这条命令就是显示系统的输入设备列表,自己需要去了解这些设备的含义,进而去操作这些设备!我们这里需要操作的是touch,从下图中可以看到touch的事件是event1.

技术分享

下面我们以屏幕触摸输入为例。将用到两个对应的命令:getevent和sendevent,顾名思义,一个是获取事件,另一个则是发送模拟事件。


首先我们用getevent了解设备运作,随便执行一条getevent来监听Handler event1(event1为屏幕事件):

$ adb shell getevent /dev/input/event1

上面的指令只会监听event1,不会监听其他的,比如电源键,音量加减键。当然我们也可以监听所有的事件:

$ adb shell getevent 

滑动解锁便会输出这些event消息

技术分享


系统会隔一定的时间对touch事件进行采样,滑动速度越慢采样的信息越多,我们没必要花费太多的时间在数值转换上,我们可以快速滑动,只要能实现解锁就行。接下来我们要把其中的十六进制数转换为十进制数写到shell script中执行,就可以实现自动解锁了。

技术分享

如果当前是暗屏的情况下,还需要执行一下:

$ adb shell input keyevent 26
模拟发送电源键事件,屏幕点亮之后才能执行此shell script。


Android通过指令模拟touch滑动解锁

标签:

原文地址:http://blog.csdn.net/xiaobaiing/article/details/51363835

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!