Android:自动点击屏幕

news/2024/11/17 8:43:23/

在开发的过程中会遇到自动测试功能,比如如何自动点击按钮进行测试,当然可以使用按键精灵等工具进行测试,不过如何在程序进程中测试呢,下面就介绍下adb shell的操作,通过shell进行点击等操作。

1.模拟滑动

input swipe startX startY endX endY duration(ms) 

2.单击某点

input tap x y

3.长按某点

input touchscreen swipe x y x y duration(ms)

4.单击某个键

input keyevent keyCode

5.长按某个键

input keyevent --longpress keyCode

一、如下以点击为例,传入当期点所在屏幕位置或者比例

package cn.test.autotouch;import android.app.Activity;
import java.io.IOException;public class AutoTouch {public int width = 0;public int height = 0;/*** 传入在屏幕中的比例位置,坐标左上角为基准* @param act 传入Activity对象* @param ratioX 需要点击的x坐标在屏幕中的比例位置* @param ratioY 需要点击的y坐标在屏幕中的比例位置*/public void autoClickRatio(Activity act, final double ratioX, final double ratioY) {width = act.getWindowManager().getDefaultDisplay().getWidth();height = act.getWindowManager().getDefaultDisplay().getHeight();new Thread(new Runnable() {@Overridepublic void run() {// 线程睡眠0.3stry {Thread.sleep(300);} catch (InterruptedException e) {e.printStackTrace();}// 生成点击坐标int x = (int) (width * ratioX);int y = (int) (height * ratioY);// 利用ProcessBuilder执行shell命令String[] order = { "input", "tap", "" + x, "" + y };try {new ProcessBuilder(order).start();} catch (IOException e) {e.printStackTrace();}}}).start();}/*** 传入在屏幕中的坐标,坐标左上角为基准* @param act 传入Activity对象* @param x 需要点击的x坐标* @param y 需要点击的x坐标*/public void autoClickPos(Activity act, final double x, final double y) {width = act.getWindowManager().getDefaultDisplay().getWidth();height = act.getWindowManager().getDefaultDisplay().getHeight();new Thread(new Runnable() {@Overridepublic void run() {// 线程睡眠0.3stry {Thread.sleep(300);} catch (InterruptedException e) {e.printStackTrace();}// 利用ProcessBuilder执行shell命令String[] order = { "input", "tap", "" + x, "" + y };try {new ProcessBuilder(order).start();} catch (IOException e) {e.printStackTrace();}}}).start();}
}

二、使用方法

    /***************************定义*****************************///声明一个Activitypublic static Activity staticActivity;//初始化AutoTouch对象public static AutoTouch autoTouch = new AutoTouch();//在onCreate中对staticActivity赋值staticActivity = this;/***************************使用*****************************///传入所在比例autoTouch.autoClickRatio(staticActivity, 0.4375, 0.537); //出入坐标autoTouch.autoClickPos(staticActivity, 840, 580);

http://www.ppmy.cn/news/704119.html

相关文章

android手机模拟屏幕点击

跨进程屏幕点击:可以用 sendevent /dev/input/eventX 实现,前提手机已经root。 遇到的坑: 1:adb shell可以,但是code不行,有可能是因为eventX文件没有读写权限,请chmod 777 eventX。 2&…

Windows11 的体验

没特别说明的情况下,以下基于 22000.51 简体中文版之体验 下载,参考 Windows11 真的来了 安装,参考 老爷机安装 Windows11 如果还没有,那是时候考虑注册一个微软账号了 注册网址 live.com 建议选 outlook 或 live的邮箱&…

微软官方大秀DX12:性能暴涨50%

微软和各家合作伙伴已经在各种场合展示过新一代DX12的威力,不断号称技术多么先进、画质多么精细、性能多么高涨,但是微软自己从来没有给出过性能方面的数据,直到现在。 近日,微软又放出了一段DX12、DX11对比视频,主要展…

重力感应失灵/更新win10后不能自动旋转屏幕

问题 重力感应失灵了,屏幕不能自动旋转。看设备管理器里,传感器下bosch accelerometer图标上有个黄色叹号,更新驱动软件说已是最新版本,可依然无法解决问题。 解决 删除设备,勾上下面那个删除驱动程序,刷…

android 神器 自动连接手机版下载,手机屏幕自动点击

详情 手机屏幕自动点击app是一款能够帮助用户自动点击手机屏幕的应用,用户可以自由设置点击时长、点击位置等数据,根据需要编辑辅助脚本,然后app就会对手机进行快速的点击了,轻松解放双手,可用于抢红包、游戏挂机等场景…

微软为ChatGPT打造专用超算!砸下几亿美元,上万张英伟达A100打造

萧箫 发自 凹非寺量子位 | 公众号 QbitAI 微软砸下大几亿美元,专门为训练ChatGPT打造了一台超算—— 上万张英伟达A100芯片打造,甚至专门为此调整了服务器架构,只为给ChatGPT和新必应AI提供更好的算力。 △图源:微软 不仅如此&…

html自动点击屏幕,虚拟按键大师(屏幕自动点击辅助器)

很多小伙伴不知道虚拟按键精灵该怎么使用,这篇文章教你玩转按键精灵,挂各种软件。 首先你打开虚拟按键精灵 上面基本不用看了,直接点这个进去后有一系列的操作指南,如果不会的话请看下一个操作。 先检查权限,一般是需要…

android 免root自动滑动,无需root自动点击屏幕软件

无需root自动点击屏幕软件app全新功能强大的不用root的安卓自动点击屏幕软件,能够实现自动点击屏幕、无限点击屏幕、自动执行手机指令操作等一系列功能,感兴趣的用户快来下载体验吧! 无需root自动点击屏幕软件app介绍 无需root自动点击屏幕软…