Android 获取屏幕事件的坐标

通常情况下我们只能获取当前Activity的画面坐标,那有时候我们需要做到一种类似于c++ hook的后台运行程序能够监听到前台用户的操作并记录下来,往往这类程序都是为自动化测试服务的。

Android系统 getevent 方法:

getevent 监控当前的事件,鼠标事件,按键事件,拖动滑动等

大家可以先通过 getevent -p 命令查看当前哪个设备是Touchscreen,我们通过监听Touchscreen设备的输出可以得到相应的x,y坐标值。

getevent /dev/input/event1  --  监听event1

找到您的屏幕设备中0035和0036的含义,我的手机中可以看到x的值min为0,max为1172,y的值min为0,
max为1900。

sendevent 方法
adb shell sendevent [device] [type] [code] [value]

发送时间,格式和上面的一样,需要注意的是在get中code显示的是十六进制,而send中需要用十进制,例如

# sendevent /dev/input/event0 1 5 1
这个命令就是发送数字4的keydown消息,所以在屏幕上就会一直打印出很多个4(因为没有发送keyup)

详细可以参考Google官方文档:

http://source.android.com/tech/input/getevent.html

原文链接: https://www.cnblogs.com/wangxianzhen/p/3243720.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

    Android 获取屏幕事件的坐标

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/98962

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月10日 上午5:01
下一篇 2023年2月10日 上午5:01

相关推荐