返回顶部
首页 > 资讯 > 精选 >怎么在Android开发中模拟输入
  • 740
分享到

怎么在Android开发中模拟输入

2023-06-14 05:06:36 740人浏览 八月长安
摘要

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

这篇文章给大家介绍怎么在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开发中模拟输入就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

--结束END--

本文标题: 怎么在Android开发中模拟输入

本文链接: https://lsjlt.com/news/268090.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 怎么在Android开发中模拟输入
    这篇文章给大家介绍怎么在Android开发中模拟输入,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。input 指令我们打开adb,进入shell,输入input可以看到指令的参数说明。其中source一般都是用的默认值...
    99+
    2023-06-14
  • Android开发中如何模拟输入
    目录input 指令模拟输入textkeyeventtapswipe主要思路是使用 adb shell input指令来模拟按键及触摸输入。 但是前提是需要root,且华为手机出于安...
    99+
    2024-04-02
  • 在Android开发中怎么实现一个自定义输入法功能
    在Android开发中怎么实现一个自定义输入法功能?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。前面两个输入框使用了自定义的输入法:第三个输入框没有进行任何设置...
    99+
    2023-05-31
    android roi
  • Android开发中怎么实现一个输入框提示功能
    这篇文章给大家介绍Android开发中怎么实现一个输入框提示功能,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。可以使用cursor来动态加载AutoCompleteTextView的数据,从而 实现时时搜索提示,要实现...
    99+
    2023-05-31
    android roi
  • android 使用uinput模拟输入设备的方法
    在google remote中,android接收端接收socket发来的IR CODE,然后将IR CODE模拟出来发给系统处理,这就是google remote接收端的原理...
    99+
    2022-06-06
    输入 方法 Android
  • 怎么在Angular中利用模板输入变量
    这篇文章给大家介绍怎么在Angular中利用模板输入变量,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。@Component({  selector: 'nz-demo-pagina...
    99+
    2023-06-14
  • Android开发 文本输入 EditText 监听器
    1.EditText 文本编辑框:用户输入文本信息 可以输入的文本类型如下:  常用属性:  系统默认的EditText: 效果图: 当然也可以自定义EditText的背景,比如用selector设...
    99+
    2023-09-03
    android android studio
  • android怎么打开开发者模式
    要打开Android设备上的开发者模式,请按照以下步骤操作:1. 打开手机的设置菜单,可以在应用列表中找到设置图标,通常是一个齿轮或...
    99+
    2023-09-12
    android
  • 怎么在Android中利用ProgressBar 模拟进度条
    这期内容当中小编将会给大家带来有关怎么在Android中利用ProgressBar 模拟进度条,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。Android是什么Android是一种基于Linux内核的自由...
    99+
    2023-06-14
  • 怎么在Android应用中利用EditText禁止在输入框中输入空格与特殊字符
    今天就跟大家聊聊有关怎么在Android应用中利用EditText禁止在输入框中输入空格与特殊字符,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。具体实现如下: public stat...
    99+
    2023-05-31
    edittext android roi
  • 怎么在CentOS虚拟机中进入救援模式
    本篇文章给大家分享的是有关怎么在CentOS虚拟机中进入救援模式,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。右击虚拟机,选择电源—打开电源时进入Bios,...
    99+
    2023-06-07
  • 详解MVP模式在Android开发中的应用
    一、MVP介绍  随着UI创建技术的功能日益增强,UI层也履行着越来越多的职责。为了更好地细分视图(View)与模型(Model)的功能,让View专注于处理数据的...
    99+
    2022-06-06
    mvp模式 android开发 Android
  • eclipse怎么进入开发者模式
    Eclipse是一个开发工具,它不具备类似于操作系统或移动设备中的“开发者模式”。不过,你可以通过以下方式使用Eclipse进行开发...
    99+
    2023-09-16
    eclipse
  • 怎么在matlab中输入矩阵
    在MATLAB中,可以通过以下方式输入矩阵:1. 手动输入矩阵元素:- 通过直接赋值的方式手动输入每个元素,例如:A = [1 2 ...
    99+
    2023-09-25
    matlab
  • 怎么在Golang中关闭输入
    本篇内容主要讲解“怎么在Golang中关闭输入”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么在Golang中关闭输入”吧!为什么要关闭输入?在一些应用程序中,我们需要保证输入的正确性和安全性...
    99+
    2023-07-05
  • Android开发之WebView输入框提示解决办法
    做基于WebView应用时,页面上有一个输入框,当输入的文字过多时,超过输入框的行数时,输入框能够滚动,这时间问题来了,输入的提示箭头会移动到输入框外,如何解决这个问题呢,查找...
    99+
    2022-06-06
    android开发 webview Android
  • android开发者模式怎么关闭或开启
    要打开或关闭Android设备的开发者模式,您可以按照以下步骤操作:开启开发者模式:1. 打开您的Android设备的“设置”应用。...
    99+
    2023-10-09
    android
  • 怎么在Android应用中添加一个文本输入框
    怎么在Android应用中添加一个文本输入框?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。xml如下:<&#63;xml version="1.0&qu...
    99+
    2023-05-31
    android roi
  • Android中怎么利用EditText输入表情
    Android中怎么利用EditText输入表情,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。一、简介editText是TextView的子类,TextView能用的工具Edi...
    99+
    2023-05-30
    edittext android
  • HBuilder开发uniapp添加android的模拟器的方法
    我们知道使用uniapp开发多端app非常方便,开发过程中的模拟器也可以提高我们测试代码的效率。但我们按uniapp官网的方法,上google的官网下载模拟器,往往非常不方便。 下面我们来看一下使用其他模拟器的方法。 我们知道android...
    99+
    2023-09-02
    uni-app adb HBuilder Android模拟器
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作