Android 模拟点击

本文介绍了如何使用adb shell命令在Android设备上模拟点击操作,包括通过ProcessBuilder和Instrumentation两种方式实现。在真机实验中,adb命令可以实现对屏幕指定位置的点击,但响应时间稍长。在代码实现时,需要注意Instrumentation方式需在子线程中运行。
摘要由CSDN通过智能技术生成

Android 模拟点击

前言

最近提出一个需求让做模拟点击,什么意思呢?就是有一个按钮,你点击这个按钮触发的不是按钮本身,而是其他的地方。其实就是在用户不触摸手机屏幕的时候,模拟触发手机屏幕的某个地方。

不知道大家平时开发的过程用到的 adb shell命令 的地方多不多呢?

今天这个需求,我们就用adb shell命令 来完成。

真机实验

我们先用USB连接真机,在cmd命令行工具里:

adb shell
shell@PRO6:/ $ input tap 125 521
shell@PRO6:/ $ 

这里的意思就是点击屏幕上 (x, y) = (125, 521)的地方。果然手机响应了,缺点就是响应时间略长,感觉有1秒左右。

同理其他手势操作也可以完成,这里不作详解,感兴趣的可以自行搜索。

下面我们需要做的就是在代码里完成上述操作,并且可以持续在后台运行。这里我也是踩坑无数,听我慢慢吐槽

方式一 ProcessBuilder

直接上代码:

    /**
     * 传入在屏幕中的坐标,坐标左上角为基准
     * 模拟点击
     *
     * @param x 需要点击的x坐标
     * @param y 需要点击的y坐标
     */
    public static void autoClickPos(final do
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值