adb shell模拟点击事件 input
2016-02-23 09:39
495 查看
1,最开始使用这个的时候 想到是 monkey 事件 因为这个是 可以盲点屏幕的 ,使用的参数 不同 生成的点击效果不同,后来 没有找到 monkey 固定点击的位置。
查到的 [b]input 是可以完成 模拟点击的需求 [/b]
[b]adb shell 中 直接输入 input[/b]
usage: input ...
input text <string>
input keyevent <key code number or name>
input tap <x> <y>
input swipe <x1> <y1> <x2> <y2>
[b]input text 模拟输入内容[/b]
[b][b]input keyevent 模拟 手机的按键 比如音量键 home 键 返回键 input
keyevent 3 模拟按下返回键,很强大的 还有 手柄的一系列按键,可以自己查查
[/b][/b]
[b][b]input
tap 模拟点击 屏幕 生成 down-up事件 ,例如 input tap 300 400; 这个是 PX 值
[/b][/b]
[b] input
swipe 模拟滑动屏幕 例如 [b] input swipe 250 250 300 300
[/b][/b]
[b]想更好的看到这些
效果 。就在屏幕上显示 你手点击的位置[/b]
[b]布局文件
就一个 button 一个 textview textview用来 显示点击的位置。[/b]
你可以先使用 adb shell 进到命令行 然后 input tap 试试 看看手机 有没有反应
[b]button
用来在程序中模拟点击屏幕。[/b]
查到的 [b]input 是可以完成 模拟点击的需求 [/b]
[b]adb shell 中 直接输入 input[/b]
usage: input ...
input text <string>
input keyevent <key code number or name>
input tap <x> <y>
input swipe <x1> <y1> <x2> <y2>
[b]input text 模拟输入内容[/b]
[b][b]input keyevent 模拟 手机的按键 比如音量键 home 键 返回键 input
keyevent 3 模拟按下返回键,很强大的 还有 手柄的一系列按键,可以自己查查
[/b][/b]
[b][b]input
tap 模拟点击 屏幕 生成 down-up事件 ,例如 input tap 300 400; 这个是 PX 值
[/b][/b]
[b] input
swipe 模拟滑动屏幕 例如 [b] input swipe 250 250 300 300
[/b][/b]
[b]想更好的看到这些
效果 。就在屏幕上显示 你手点击的位置[/b]
[b]布局文件
就一个 button 一个 textview textview用来 显示点击的位置。[/b]
你可以先使用 adb shell 进到命令行 然后 input tap 试试 看看手机 有没有反应
[b]button
用来在程序中模拟点击屏幕。[/b]
package com.example.liqingju.onth; import android.app.Activity; import android.os.Bundle; import android.view.MotionEvent; import android.view.View; import android.widget.Button; import android.widget.TextView; import android.widget.Toast; import java.io.IOException; public class MainActivity extends Activity { private TextView myText; private Button mButton; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); myText = (TextView) findViewById(R.id.mytext); mButton = (Button) findViewById(R.id.bt_settab); mButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Toast.makeText(getApplicationContext(),"点击了。。",Toast.LENGTH_LONG).show(); exeOrderOnTouchEvent(600, 600); } }); } @Override public boolean onTouchEvent(MotionEvent event) { String str = String.format("X=%.2f Y=%.2f", event.getX(), event.getY()); myText.setText(str); return super.onTouchEvent(event); } public void exeOrderOnTouchEvent(float X, float Y) { try { Process ps = Runtime.getRuntime().exec(orderStr(X, Y)); } catch (Exception e) { e.printStackTrace(); } } public String orderStr(float X, float Y) { return String.format("input tap %.2f %.2f", X, Y); } }
相关文章推荐
- CocoaPod出现-bash: pod: command not found 解决办法
- shell 字符串
- PowerShell 在线教程
- 常用shell命令
- linux下shell编程示例-获取进程id
- linux下使用shell脚本自动化部署项目
- shell脚本基础知识和位置变量
- monkey离线运行之shell脚本实现
- pc进入android手机shell的root权限(su: not found)
- 读取系统执行状态的shell脚本
- 【FAQ】bash VS dash 字符串正则表达式匹配
- Shell 自定义颜色输出函数
- shell script中奇怪的符号之${0##*/}
- Linux shell脚本 基础知识总结
- Linux笔记(11)——Shell脚本执行
- Linux笔记(10)——Shell概述
- Windows 下/bin/bash: line 0: fg: no job control一般解决方法
- shell 读取文件内容
- Shell脚本中的for,while用法
- linux shell:nginx日志切割脚本