看了几遍网上的博客一直没有 模拟出鼠标点击事件和按钮事件,后来抱着试试态度再重试的时候终于有所斩获。下面把具体的情况记录一下:

首先我们必须了解类 Instrumentation:

Instrumentation发送键盘鼠标事件:Instrumentation提供了丰富的以send开头的函数接口来实现模拟键盘鼠标,如下所述:

sendCharacterSync(int keyCode)//用于发送指定KeyCode的按键

sendKeyDownUpSync(int key)//用于发送指定KeyCode的按键

sendPointerSync(MotionEventevent)//用于模拟Touch

sendStringSync(String text)//用于发送字符串

注意:以上函数必须通过Message的形式抛到Message队列中。如果直接进行调用加会导致程序崩溃。

小结:Android instrumentation 只能在当前Acitivity上模拟事件

MotionEvent.ACTION_MOVE

inst.sendPointerSync(MotionEvent.obtain(SystemClock.uptimeMillis(),SystemClock.uptimeMillis(), MotionEvent.ACTION_DOWN, offetX, offetY, 0));

nst.sendPointerSync(MotionEvent.obtain(SystemClock.uptimeMillis(),SystemClock.uptimeMillis(), MotionEvent.ACTION_MOVE, offetX, offetY, 0));

inst.sendPointerSync(MotionEvent.obtain(SystemClock.uptimeMillis(),SystemClock.uptimeMillis(), MotionEvent.ACTION_UP, offetX, offetY, 0));

MotionEvent.ACTION_DOWN

inst.sendPointerSync(MotionEvent.obtain(SystemClock.uptimeMillis(),SystemClock.uptimeMillis(), MotionEvent.ACTION_DOWN, offetX, offetY, 0));

inst.sendPointerSync(MotionEvent.obtain(SystemClock.uptimeMillis(),SystemClock.uptimeMillis(), MotionEvent.ACTION_UP, offetX, offetY, 0));

MotionEvent.ACTION_UP

inst.sendPointerSync(MotionEvent.obtain(SystemClock.uptimeMillis(),SystemClock.uptimeMillis(), MotionEvent.ACTION_UP, offetX, offetY, 0));

直接这个是不会有MotionEvent.ACTION_UP这个事件的,必须先按下MotionEvent.ACTION_DOWN才会有MotionEvent.ACTION_UP事件产生

Android  各个View之间的消息传递使用dispatchTouchEvent();

还得记住在配置文件中添加  这个权限。如果你想讲你的鼠标事件作用到另外一个应用程式那么你需要在另外一个应用程式的配置文件中也加上这个权限,否则将报错。 这里使用上面进行模拟鼠标事件时一定记得try{} catch()避免程式崩溃。

还要注意一点的是这个事件被自动分配到最上层的view上,因此如果你要模拟一个鼠标的话出发的点必须保证不会落在你绘制的图标view上面,否则事件会被突变view截获。

android 模拟点击localinstrumentation,Android Instrumentation模拟鼠标点击事件相关推荐

  1. cesium获取点击内容信息_Cesium获取鼠标点击位置(PickPosition)

    cesium学习了这么长时间,有时候写鼠标点击事件时,想获取鼠标点击点位置,发现情况很多.比如以下情形: 1获取鼠标点的对应椭球面位置 2获取加载地形后对应的经纬度和高程 3获取倾斜摄影或模型点击处的 ...

  2. python控制鼠标点击的包_控制鼠标点击的Python脚本

    我用win32api创建了一个小Python脚本,用于流行的游戏Cookie Clicker(一个你必须点击一个大Cookie来获得分数的游戏)只是为了好玩.它有一个名为"自动点击器&quo ...

  3. C#用mouse_event模拟鼠标点击的问题

    1.首先添加using System.Runtime.InteropServices; 2.为鼠标添加模拟点击的各种参数 //鼠标事件  因为我用的不多,所以其他参数没有写 1 2 3 4 5 6 7 ...

  4. 【图像处理】——鼠标点击图像的一处,获得点击点的坐标值

    import cv2 import numpy as np# 图片路径 img = cv2.imread('5-.jpg') a = [] b = []def on_EVENT_LBUTTONDOWN ...

  5. JS实现鼠标点击爱心绘制多边形每日一言功能

    本篇文章主要介绍我的个人博客 程序猿刘川枫 中页面使用的美化功能(基于JS实现): 1.鼠标点击出现不同颜色爱心特效 2.页面浮动多边形跟随鼠标移动 3.每日一言功能 1.鼠标点击出现爱心特效 经常在 ...

  6. 地图绘制边界。高德。PPMAP。 鼠标点击经纬度坐标 。地图图标点点击弹窗窗口。地图图标点点击事件。

    边界: == 第一种:绘制边界. 通过绘制多边形的API来绘制边界. 高德API:多边形 Polygon. 矢量图形-覆盖物-教程-地图 JS API | 高德地图API 将关键的边界轮廓 经纬度坐标 ...

  7. 博客园美化(3)博客园鼠标点击特效代码

    博客园鼠标点击特效代码 样式效果 鼠标点击出现烟花和"富强", "民主", "文明", "和谐"... 特效 使用方法 ...

  8. 【Android】技术调研:用代码模拟屏幕点击、触摸事件

    在Android中,有些场景需要使用代码来模拟人的操作,比如微信自动抢红包.UI测试等都需要模拟实现点击事件(Click).触摸事件(Touch).键盘事件(KeyBoard)等.那么,有没有现成的方 ...

  9. android模拟点击系统打开apk按钮,Android开发系列: 电脑端Android模拟器安装使用教程...

    如今说到什么智能手机最火,那很多人肯定会说android系统的手机.如果你还没有Android手机,又想买一部试试,可是价格都不便宜,买来不适合自己怎么办?那么可以先在电脑上安装一个Android模拟 ...

最新文章

  1. 华中农大在土壤矿物-微生物相互作用研究方面取得新进展
  2. httpWebRequest 错误
  3. WSL安装Oracle,WSL安装JDK8 - terwergreen的个人空间 - OSCHINA - 中文开源技术交流社区...
  4. 在vue中let var 和const 区别
  5. 【ABP框架系列学习】模块系统(4)
  6. 在SAP中如何创建权限和权限的设置
  7. 5 Django系列之通过list_display展示多对多与外键内容在admin-web界面下
  8. 一个html数据编辑模板
  9. hibernate连接成功
  10. 【编程之美】java二进制实现重建
  11. ofd文件怎么复制文字
  12. 基于单片机的导盲拐杖设计
  13. Kali Linux系统apt源配置
  14. 愚人节的背后:技术在一面打假,一面造假
  15. origin柱状图坐标标签_origin菜鸟求助。如何做横坐标连续(如下图)的柱状图?...
  16. 飞火流星测试经验总结
  17. VS2019项目自动包含bin或obj文件夹的问题
  18. 【Python 基础教程】彻底解决python round函数的四舍五入不精确的问题
  19. 修改360抢票的刷新频率+突破8车次限制,太简单了
  20. python实现CAPM模型

热门文章

  1. golang interface 转 string,int,float64
  2. linux apt-get update 和 upgrade 的区别
  3. iptables规则的查看、添加、删除和修改
  4. SpiderMonkey-让你的C++程序支持JavaScript脚本
  5. WMI问题全解(Windows管理规范)
  6. 在ListCtrl控件中插入图标
  7. delete指针之后应该赋值NULL
  8. Android中的URI
  9. Android--Vibrator实现手机震动效果
  10. mysql需要vc_VC连接MySql