ADB 命令之 模拟按键/输入

ADB 命令之 模拟按键/输入


模拟按键/输入
在 ​​adb shell​​​ 里有个很实用的命令叫 ​​input​​,通过它可以做一些有趣的事情。

​​input​​ 命令的完整 help 信息如下:

Usage: input [<source>] <command> [<arg>...]

The sources are:
      mouse
      keyboard
      joystick
      touchnavigation
      touchpad
      trackball
      stylus
      dpad
      gesture
      touchscreen
      gamepad

The commands and default sources are:
      text <string> (Default: touchscreen)
      keyevent [--longpress] <key code number or name> ... (Default: keyboard)
      tap <x> <y> (Default: touchscreen)
      swipe <x1> <y1> <x2> <y2> [duration(ms)] (Default: touchscreen)
      press (Default: trackball)
      roll <dx> <dy> (Default: trackball)

比如使用 ​​adb shell input keyevent <keycode>​​​ 命令,不同的 keycode 能实现不同的功能,完整的 keycode 列表详见 ​ ​KeyEvent​​,摘引部分我觉得有意思的如下:


下面是 ​​input​​ 命令的一些用法举例。

电源键
命令:
adb shell input keyevent 26

执行效果相当于按电源键。

菜单键
命令:
adb shell input keyevent 82

HOME 键
命令:
adb shell input keyevent 3

返回键
命令:
adb shell input keyevent 4

音量控制

增加音量:
adb shell input keyevent 24

降低音量:
adb shell input keyevent 25

静音:
adb shell input keyevent 164

媒体控制

播放/暂停:
adb shell input keyevent 85

停止播放:
adb shell input keyevent 86

播放下一首:
adb shell input keyevent 87

播放上一首:
adb shell input keyevent 88

恢复播放:
adb shell input keyevent 126

暂停播放:
adb shell input keyevent 127

点亮/熄灭屏幕

可以通过上文讲述过的模拟电源键来切换点亮和熄灭屏幕,但如果明确地想要点亮或者熄灭屏幕,那可以使用如下方法。

点亮屏幕:
adb shell input keyevent 224

熄灭屏幕:
adb shell input keyevent 223

滑动解锁
如果锁屏没有密码,是通过滑动手势解锁,那么可以通过 ​​input swipe​​ 来解锁。

命令(参数以机型 Nexus 5,向上滑动手势解锁举例):

adb shell input swipe 300 1000 300 500

参数 ​​300 1000 300 500​​​ 分别表示​​起始点x坐标 起始点y坐标 结束点x坐标 结束点y坐标​​。

输入文本
在焦点处于某文本框时,可以通过 ​​input​​ 命令来输入文本。

命令:
adb shell input text hello

现在 ​​hello​​ 出现在文本框了。
 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/788321.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

全量知识系统 程序详细设计之“ AI操作系统” (百度搜索的QA)

Q1. 今天讨论的题目是&#xff1a;全量知识系统 程序详细设计之“ AI操作系统”..本篇是基于前面的文章给出的系统核心&#xff08;一个恰当的组织&#xff09;之上的一个扩展&#xff0c;并在此基础上给出整个全量知识系统 &#xff08;以下简称“全知系统”&#xff09;程序详…

SV学习笔记(一)

SV&#xff1a;SystemVerilog 开启SV之路 数据类型 內建数据类型 四状态与双状态 &#xff1a; 四状态指0、1、X、Z&#xff0c;包括logic、integer、 reg、 wire。双状态指0、1&#xff0c;包括bit、byte、 shortint、int、longint。 有符号与无符号 &#xff1a; 有符号&am…

云计算对象存储服务

对象存储服务&#xff08;OSS&#xff09;中的存储桶(Bucket)叫做‘OBS桶 存储桶&#xff08;Bucket&#xff09;&#xff1a;存储桶式对象存储服务中用于存储对象的基本容器&#xff0c;类似于文件系统中的文件夹。每个存储桶具有唯一的名称&#xff0c;并且可以在桶中存储任…

理解Three.js的相机

大家都知道我们生活中的相机&#xff0c;可以留下美好瞬间。那Three.js的相机是什么呢&#xff1f;Three.js创建的场景是三维的&#xff0c;而我们使用的显示器显然是二维的&#xff0c;相机就是抽象的定义了三维空间到二维显示器的投影方式。Three.js常见的相机有两类&#xf…

搜索引擎-01-概览

拓展阅读 搜索引擎-01-概览 搜索引擎-02-分词与全文索引 搜索引擎-03-搜索引擎原理 Crawl htmlunit 模拟浏览器动态 js 爬虫入门使用简介 Crawl jsoup 爬虫使用 jsoup 无法抓取动态 js 生成的内容 Crawl WebMagic 爬虫入门使用简介 webmagic 详细介绍一下搜索引擎 搜索…

【Java+Springboot】----- 通过Idea快速创建SpringBoot项目操作方法

一、第一步&#xff1a; 点击选择【File】->【New】-> 【Project】 最后弹出[new Project]界面。 二、第二步&#xff1a; 1. 选择【Spring Initializr】 2. 然后选择【Project SDK】的版本 3. 然后 Choose Initializr Service URL 选择默认&#xff08;Default&#x…

centos7.9离线安装docker

#docker 官方下载地址 https://download.docker.com/linux/static/stable/ #进入网站后根据自己服务器架构选择对应安装包下载#解压安装包 [qdskubernetes ~]$ tar -zxvf docker-23.0.3.tgz docker/ docker/docker-proxy docker/containerd-shim-runc-v2 docker/ctr docker/do…

华为审核被拒提示: 您的应用存在(最近任务列表隐藏风险活动)的行为,不符合华为应用市场审核标准

应用审核意见&#xff1a; 您的应用存在&#xff08;最近任务列表隐藏风险活动&#xff09;的行为&#xff0c;不符合华为应用市场审核标准。 修改建议&#xff1a;请参考测试结果进行修改。 请参考《审核指南》第2.19相关审核要求&#xff1a;https://developer.huawei.com/c…

uniapp-设置UrlSchemes从外部浏览器H5打开app

需求&#xff1a;外部浏览器H5页面&#xff0c;跳转到uniapp开发的原生app内部。 1、uniapp内部的配置&#xff1a; &#xff08;1&#xff09;打开manifest->App常用其他设置&#xff0c;如下&#xff0c;按照提示输入您要设置的urlSchemes&#xff1a; &#xff08;2&am…

redis 的StringRedisTemplate

6.3 StringRedisTemplate 尽管JSON的序列化方式可以满足我们的需求&#xff0c;但依然存在一些问题&#xff0c;如图&#xff1a; 为了在反序列化时知道对象的类型&#xff0c;JSON序列化器会将类的class类型写入json结果中&#xff0c;存入Redis&#xff0c;会带来额外的内存…

【SpringCloud】Eureka注册中心 代码详细介绍

Eureka是Spring Cloud的服务发现和注册中心&#xff0c;它提供了服务注册和发现的功能&#xff0c;使得服务消费者可以自动发现服务提供者并进行调用。下面是一个简单的Eureka注册中心的代码示例&#xff0c;并进行详细介绍。 首先&#xff0c;需要在Spring Boot项目中添加Eur…

Amazon API Gateway 配置自定义域名

Amazon API Gateway 是一项无服务器服务,可帮助您创建、发布、维护、监控和保护 API。它为您的 API 提供了一个托管的入口点,使您可以轻松地将后端服务与客户端应用程序集成。但是,默认情况下,API Gateway 为您的 API 分配了一个 AWS 托管的域名,例如 ​​https://abcd1234.exe…

create table main (num int);insert into main values

create table main (num int); insert into main values (3), (12), (15), (25), (23), (29), (34), (37), (32); int num1 3; int num2 12; int num3 23; 把num值处于[20&#xff0c;29]之间&#xff0c;改为20 num值处于[30,39]之间的&#xff0c;改为30 思…

C++算法补充---STL

这里写目录标题 CSTL容器字符串函数(string容器函数)字符串转字符 算法交换函数拿到容器或者数组的第一个最大&#xff08;小&#xff09;值元素的下标或者值排序函数求字符数组的有效长度atoi函数&#xff08;将字符串类型的数字转为真正的int型数字&#xff09;string转字符 …

ES学习日记(八)-------ik安装和简易使用

一、下载和安装 https://github.com/infinilabs/analysis-ik.git 网络不好可以用这个地址,注意:ik版本要和es版本保持一致 现成地址 注意es用户操作或给es用户权限 plugins新建ik文件夹,并把压缩包解压到ik unzip elasticsearch-analysis-ik-7.4.2.zip /bin目录启动es: 二…

GPT4不限制使用次数了!GPT5即将推出了!

今天登录到ChatGPT Plus账户&#xff0c;出现了如下提示&#xff1a; 已经没有了数量和时间限制的提示。 更改前&#xff1a;每 3 小时限制 40 次&#xff08;团队计划为 100 次&#xff09;&#xff1b;更改后&#xff1a;可能会应用使用限制。 GPT-4放开限制 身边订阅了Ch…

Quill文档(四):使用Parchment克隆Medium

为了提供一致的编辑体验&#xff0c;您需要一致的数据和可预测的行为。不幸的是&#xff0c;DOM缺乏这两个特性。现代编辑器的解决方案是维护自己的文档模型来表示它们的内容。对于Quill来说&#xff0c;Parchment就是这样的解决方案。它在自己的代码库中组织&#xff0c;并拥有…

使用 PyArmor 加密一个 Python 包

如果你想要使用 PyArmor 加密一个 Python 包&#xff08;也就是一个包含多个模块的目录&#xff09;&#xff0c;你可以按照以下步骤进行&#xff1a; 安装 PyArmor&#xff1a;首先确保 PyArmor 已经被安装在你的环境中。如果未安装&#xff0c;可以通过 pip 安装&#xff1a;…

elment UI el-date-picker 月份组件选定后提交后台页面显示正常,提交后台字段变成时区格式

需求&#xff1a;要实现一个日期的月份选择<el-date-picker :typeformData.dateType :value-formatdateFormat v-modelformData.leaveFactoryDateplaceholder选择月份></el-date-picker>错误示例&#xff1a;将日期显示类型(type)dateType或将日期绑定值的格式(val…

LabVIEW专栏三、探针和断点

探针和断点是LabVIEW调试的常用手段&#xff0c;该节以上一节的"测试耗时"为例 探针可以打在有线条的任何地方&#xff0c;打上后&#xff0c;经过这条线的所有最后一次的数值都会显示在探针窗口。断点可以打在程序框图的所有G代码对象&#xff0c;包括结构&#xf…