Android 代码模拟点击屏幕 使用adb的办法

近期因为公司项目需求需要实现H5视频自动播放,但是由于谷歌的权限问题webview自动屏蔽网页视频自动播放,只可以触摸播放。后来想了很多办法,最后用模拟点击的方式实现了自动播放视频。话不多说上代码。

final int width = getWindowManager().getDefaultDisplay().getWidth();
 final int height = getWindowManager().getDefaultDisplay().getHeight();

        //每10s产生一次点击事件,点击的点坐标为(0.2W - 0.8W,0.2H - 0.8 H),W/H为手机分辨率的宽高.
        new Thread(new Runnable() {
            @Override
            public void run() {

                while (true) {
                    //生成点击坐标
                    int x = (int) (Math.random() * width * 0.6 + width * 0.2);
                    int y = (int) (Math.random() * height * 0.6 + height * 0.2);
                    //利用ProcessBuilder执行shell命令
                    String[] order = {
                            "input",
                            "tap",
                            "" + x,
                            "" + y
                    };
                    try {
                        new ProcessBuilder(order).start();
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                    //线程睡眠10s
                    try {
                        Thread.sleep(10000);
                    } catch (InterruptedException e) {
                        e.printStackTrace();
                    }
                }
            }
        }).start();

原文链接:https://blog.csdn.net/hai29785/article/details/52769307

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在Android开发中,可以使用ADBAndroid Debug Bridge)命令来进行自动点击操作。ADB是一种调试工具,可以通过命令行与连接的Android设备进行通信。 要实现自动点击,首先需要通过ADB连接到目标设备。可以使用以下命令连接设备: ``` adb devices ``` 当设备被识别后,可以使用以下命令打开设备的屏幕: ``` adb shell input keyevent KEYCODE_POWER ``` 接下来,可以使用以下命令模拟点击操作: ``` adb shell input touchscreen swipe x1 y1 x2 y2 duration ``` 其中,x1和y1是起始点的坐标,x2和y2是终点的坐标,duration是整个滑动动作的持续时间。 另外,还可以使用以下命令模拟点击某个特定坐标: ``` adb shell input tap x y ``` 其中,x和y是点击坐标的具体数值。 通过上述ADB命令,可以实现自动化点击操作。可以将这些命令封装为脚本,通过Java或Python等编程语言调用ADB命令实现自动点击。 需要注意的是,自动点击操作可能涉及到设备的Root权限以及屏幕尺寸适配等问题,需要根据具体情况进行相应的设置和调整。 ### 回答2: 为了实现Android自动点击功能,我们可以使用ADB命令来模拟用户的点击操作。以下是使用ADB命令进行自动点击的源码示例: 1. 首先,在电脑上安装ADB工具,并确保手机已通过USB与电脑连接。 2. 在命令行中使用以下命令来获取Android设备的屏幕分辨率信息: ``` adb shell wm size ``` 该命令将返回设备屏幕的分辨率,比如:Physical size: 1080x1920。 3. 创建一个名为`click.sh`的Shell脚本,并将以下代码复制到文件中: ```shell #!/bin/bash x=$1 y=$2 adb shell input tap $x $y ``` 4. 保存并关闭`click.sh`脚本。 5. 在命令行中使用以下命令赋予`click.sh`脚本执行权限: ```shell chmod +x click.sh ``` 6. 现在我们可以使用以下命令来调用`click.sh`脚本进行自动点击操作: ```shell ./click.sh x y ``` 其中,`x`和`y`分别表示要点击屏幕坐标。比如,要点击屏幕上的(100, 200)位置,我们可以使用以下命令: ```shell ./click.sh 100 200 ``` 脚本将通过ADB向手机发送指令,模拟用户点击了指定的屏幕位置。 通过以上步骤,我们可以使用ADB命令实现Android自动点击功能。注意,在使用自动点击脚本时,请确保您了解并遵守相关法律法规,以免进行未授权的操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值