我的编程空间,编程开发者的网络收藏夹
学习永远不晚

怎么在Android开发中模拟输入

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

怎么在Android开发中模拟输入

这篇文章给大家介绍怎么在Android开发中模拟输入,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

input 指令

我们打开adb,进入shell,输入input可以看到指令的参数说明。

怎么在Android开发中模拟输入

其中source一般都是用的默认值可以忽略,我们主要关注的就是后面的command

  • text:文本输入;keyevent:键盘按键;这两条指令是所有设备通用的。

  • tap:点击屏幕;swipe:滑动屏幕;这两条指令适用于有触摸屏的设备。

  • press,roll适用于有触摸球的设备。

模拟输入

在使用input指令之前我们要先获取一下root权限。

private void execShellCmd(String cmd) {   try {  Process process = Runtime.getRuntime().exec("su");  OutputStream outputStream = process.getOutputStream();  DataOutputStream dataOutputStream = new DataOutputStream(   outputStream);  dataOutputStream.writeBytes(cmd);  dataOutputStream.flush();  dataOutputStream.close();  outputStream.close();  } catch (Throwable t) {  t.printStackTrace();  } }

text

输入之前需要提前获取焦点。
2.输入有特殊含义的特殊字符,无法直接输入 需要使用keyevent 如: ' '

我们整一个EditText,然后进行text输入测试。

execShellCmd("input text 'hello,world'");

我们发现少了一个H,在控制台可以看到日志。

怎么在Android开发中模拟输入

可以看到在按下H的时候,EditText没有获取到焦点。

怎么在Android开发中模拟输入

可能是页面初始化以后就开始执行输入操作,此时editText还没有获取到焦点,获取焦点可能存在点延时。所以我们尝试延迟1s后进行输入。

private Handler handler = new Handler();private Runnable task = new Runnable() { public void run() { execShellCmd("input text 'hello,world'"); }};// 延迟1s后输入handler.postDelayed(task,1000);

怎么在Android开发中模拟输入

keyevent

execShellCmd("input text 'hello,world' \n input keyevent 68 \n input keyevent 21");

输入hello,world,然后输入',然后左移光标

怎么在Android开发中模拟输入

常见的keycode可以参见frameworks/base/core/java/android/view/KeyEvent.java

怎么在Android开发中模拟输入

tap

android 中坐标系如下图所示。

怎么在Android开发中模拟输入

我们可以打开手机中的 开发者选项 -> 指针位置 来辅助定位,可以再上方看到x,y相对的偏移量。

怎么在Android开发中模拟输入

点击屏幕(100,200)位置。

execShellCmd("input tap 100 200");

swipe

滑动屏幕和tap相似只需要传入两个坐标即可。后面也可以设置滑动时间(ms),时间越短滑动的相应距离就会越长。

从屏幕(100,200)滑动到(300,400)。

execShellCmd("input swipe 100 200 300 400");

关于怎么在Android开发中模拟输入就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

怎么在Android开发中模拟输入

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

怎么在Android开发中模拟输入

这篇文章给大家介绍怎么在Android开发中模拟输入,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。input 指令我们打开adb,进入shell,输入input可以看到指令的参数说明。其中source一般都是用的默认值
2023-06-14

在Android开发中怎么实现一个自定义输入法功能

在Android开发中怎么实现一个自定义输入法功能?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。1.前面两个输入框使用了自定义的输入法:2.第三个输入框没有进行
2023-05-31

Android开发中怎么实现一个输入框提示功能

这篇文章给大家介绍Android开发中怎么实现一个输入框提示功能,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。可以使用cursor来动态加载AutoCompleteTextView的数据,从而 实现时时搜索提示,要实现
2023-05-31

android怎么打开开发者模式

要打开Android设备上的开发者模式,请按照以下步骤操作:1. 打开手机的设置菜单,可以在应用列表中找到设置图标,通常是一个齿轮或者一个齿轮加锁的图标。2. 在设置菜单中,向下滚动找到“关于手机”或“关于设备”的选项,然后点击它。3. 在
2023-09-12

怎么在Angular中利用模板输入变量

这篇文章给大家介绍怎么在Angular中利用模板输入变量,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。@Component({ selector: nz-demo-pagination-item-render, t
2023-06-14

怎么在Android中利用ProgressBar 模拟进度条

这期内容当中小编将会给大家带来有关怎么在Android中利用ProgressBar 模拟进度条,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。Android是什么Android是一种基于Linux内核的自由
2023-06-14

怎么在Android应用中利用EditText禁止在输入框中输入空格与特殊字符

今天就跟大家聊聊有关怎么在Android应用中利用EditText禁止在输入框中输入空格与特殊字符,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。具体实现如下:/** * 禁止Edi
2023-05-31

怎么在CentOS虚拟机中进入救援模式

本篇文章给大家分享的是有关怎么在CentOS虚拟机中进入救援模式,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。1.右击虚拟机,选择电源—打开电源时进入Bios,进入
2023-06-07

详解MVP模式在Android开发中的应用

一、MVP介绍 随着UI创建技术的功能日益增强,UI层也履行着越来越多的职责。为了更好地细分视图(View)与模型(Model)的功能,让View专注于处理数据的可视化以及与用户的交互,同时让Model只关系数据的处理,基于MVC概念的MV
2022-06-06

eclipse怎么进入开发者模式

Eclipse是一个开发工具,它不具备类似于操作系统或移动设备中的“开发者模式”。不过,你可以通过以下方式使用Eclipse进行开发:1. 下载和安装:首先,你需要从Eclipse官方网站(https://www.eclipse.org/d
2023-09-16

怎么在matlab中输入矩阵

在MATLAB中,可以通过以下方式输入矩阵:1. 手动输入矩阵元素:- 通过直接赋值的方式手动输入每个元素,例如:A = [1 2 3; 4 5 6; 7 8 9]。- 通过输入每行或每列的方式手动输入矩阵,例如:A = [1 2 3; 4
2023-09-25

怎么在Golang中关闭输入

本篇内容主要讲解“怎么在Golang中关闭输入”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么在Golang中关闭输入”吧!为什么要关闭输入?在一些应用程序中,我们需要保证输入的正确性和安全性
2023-07-05

android开发者模式怎么关闭或开启

要打开或关闭Android设备的开发者模式,您可以按照以下步骤操作:开启开发者模式:1. 打开您的Android设备的“设置”应用。2. 在设置中,向下滚动并找到“关于手机”或“关于设备”选项。3. 找到“版本号”或“内部版本号”选项,并连
2023-10-09

怎么在Android应用中添加一个文本输入框

怎么在Android应用中添加一个文本输入框?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。xml如下:<
2023-05-31

怎么在Android应用中模拟一个新闻客户端

这期内容当中小编将会给大家带来有关怎么在Android应用中模拟一个新闻客户端,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。首先我们创建一个JsonParse类用来解析json文件:package cn.
2023-05-31

Android中怎么利用EditText输入表情

Android中怎么利用EditText输入表情,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。一、简介editText是TextView的子类,TextView能用的工具Edi
2023-05-30

如何在Ubuntu中利用Pygame开发教育模拟游戏

在Ubuntu中利用Pygame开发教育模拟游戏需要遵循以下步骤:安装Pygame库:打开终端,输入以下命令来安装Pygame库:sudo apt-get install python3-pygame创建一个新的Python文件:使用
如何在Ubuntu中利用Pygame开发教育模拟游戏
2024-10-15

Android开发中如何实现校验输入的email是否合法

本篇文章为大家展示了Android开发中如何实现校验输入的email是否合法,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。Android 校验email是否合法String regEx = "^
2023-05-31

怎么在Linux系统中输入emoji

这篇文章将为大家详细讲解有关怎么在Linux系统中输入emoji,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。使用 GNOME 桌面可以让你在文字中轻松加入 emoji。emoji 是潜藏在 Unicod
2023-06-16

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录