模拟点击在 Android 上有2种情况:
1,只模拟点击自己的页面;
2,只要自己进程活着,不管是哪个应用在前台,都可以模拟点击;

第一种情况比较简单:
  long downTime = SystemClock.uptimeMillis();float x = 200;float y = getResources().getDisplayMetrics().heightPixels - 200;final MotionEvent downEvent = MotionEvent.obtain(downTime, downTime, MotionEvent.ACTION_DOWN, x, y, 0);final MotionEvent upEvent = MotionEvent.obtain(downTime, downTime, MotionEvent.ACTION_UP, x, y, 0);View view = findViewById(R.id.root);view.dispatchTouchEvent(downEvent);view.dispatchTouchEvent(upEvent);downEvent.recycle();upEvent.recycle();

有人可能发现了,这第一种模拟点击自己的页面,貌似没什么意义,因为既然是自己的页面,代码都是我们自己写,可以直接走点击的方法,不需要这么麻烦。不过还是有些特殊场景可能需要的,比如模拟点击广告。

第二种情况:

1,之前写过一篇《牛逼的AccessibilityService》

2,如果是 root 手机或者是系统应用, 可以添加权限:

<uses-permission android:name="android.permission.INJECT_EVENTS"/>

则可以使用:

 AsyncTask.execute(new Runnable() {@Overridepublic void run() {// 必须在 子线程Instrumentation mInst = new Instrumentation();mInst.sendPointerSync(MotionEvent.obtain(SystemClock.uptimeMillis(), SystemClock.uptimeMillis(), MotionEvent.ACTION_DOWN, x, y, 0));mInst.sendPointerSync(MotionEvent.obtain(SystemClock.uptimeMillis(), SystemClock.uptimeMillis(), MotionEvent.ACTION_UP, x, y, 0));}});

sendPointerSync 实际利用的是 InputManager 的 injectInputEvent 方法;

Android上的模拟点击相关推荐

  1. android xml talkback,如何在Android上修改可点击的View的TalkBack使用提示?

    是的,这绝对是可能的! 覆盖onInitializeAccessibilityNodeInfo方法 如果您有自定义视图,则可以覆盖onInitializeAccessibilityNodeInfo(A ...

  2. android触屏设备event模拟,android 使用命令模拟点击 滑动

    adb shell getevent -p 出现上述截图的就是屏幕触摸输入设备 带上 -l adb shell getevent -p-l . EV_ABS      ABS_MT_TRACKING_ ...

  3. go模拟android浏览器,golang模拟点击浏览器

    发现一个很好玩的浏览器模拟操作包,下面演示一下,打开网站,点击某个链接 package main import ( "fmt" "time" "git ...

  4. android 8.0模拟点击,安卓8.0能用的模拟器

    小鸡模拟器.有mine模拟器.KE模拟器. 1.Genymotio,适合人群:开发者.测试人员.有一定版配置基础,配合VirtualBox运行,流畅兼容较好,需要一定配置经验,英文界面. 2.逍遥安卓 ...

  5. Android中模拟点击软件的实现原理探究

    简介 按键触摸类模拟点击软件最早开始于PC时代,指的是可以通过设置.脚本控制等方式去实现模拟点击,解放双手,达到自动化操作的目的.在Android中,模拟点击对应的就是触发屏幕点击事件,多用于游戏中完 ...

  6. Android 关于模拟点击和Hook框架的杂谈

    1. 背景 就跟我们以前玩页游挂机一样,Android端也有游戏,而且样式繁多,如果重复的操作每次都要自己重复一遍操作,那不得烦死,所以就有了这篇文章,本文仅探讨方案,大家可以尝试.而且现在的模拟器( ...

  7. Android:辅助功能(模拟点击,模拟手势)入门基本学习

    在 Android 中,有个非常强大的功能,那就是辅助功能.辅助功能是用于服务残障人士的.比如对于视障人士来说,辅助功能可以帮助他们读出屏幕上的文字或图片(阅读图片时会播放其 ContentDescr ...

  8. android root 模拟点击,免ROOT实现模拟点击任意位置

    微信7.0版本之前抢红包插件点击基本上都借助AccessibilityService无障碍的performClick方法点击控件,不过7.0版本的微信的红包控件(view)没有id这一项了,所以per ...

  9. Android 模拟点击

    Android 模拟点击 前言 最近提出一个需求让做模拟点击,什么意思呢?就是有一个按钮,你点击这个按钮触发的不是按钮本身,而是其他的地方.其实就是在用户不触摸手机屏幕的时候,模拟触发手机屏幕的某个地 ...

最新文章

  1. xlrd.biffh.XLRDError:不支持的格式或文件损坏:预期的BOF记录;找到了b’b \ x14#e \ xbc \
  2. spring实现listener(转)
  3. Chrome开发者工具详解(4)-Profiles面板
  4. 我的世界一个程序导致JAVA,Java地位无可动摇的12个原因
  5. 解析ajax数据显示到from表单中,jQuery Ajax从另一页上的Form请求中提取数据?
  6. word如何调整字间距离_大篇幅文字如何排版才能赏心悦目?
  7. Git.gitignore规则不生效的解决办法
  8. jack插头_防水连接器航空插头特点
  9. LC.234.Palindrome Linked List
  10. SVN创建分支/合并分支/切换分支
  11. 边缘计算在物联网领域的发展前景
  12. JavaScript高级程序设计之表单基础
  13. 用户态协议栈之epoll实现
  14. O2OA 稳定版 V4.2235 发布,功能性能等多方面优化升级
  15. Cadence Allegro 17.4 IBS文件处理(IBIS模型)
  16. [Office] Microsoft Office Outlook 2007/2010 设置邮件已读/未读快捷键
  17. 人机融合系统的休谟之问到工业智能的成熟应用的联想
  18. (转)银河麒麟V10sp1服务器系统安装redis不能使用的解决办法
  19. PAT 1085 PAT单位排行 (Microsoft_zzt)
  20. 常见的python图形-线性图

热门文章

  1. VideoJS居中播放按钮
  2. 自动生成文章的AI伪原创app下载安装教程
  3. matlab 狄利克雷函数图像,Poisson image editing算法实现的Matlab代码解析
  4. 几何画板在现代教学中有哪些应用
  5. 关于Ctrl+R(reverse-search-history)的反向搜索 —— forward-search-history的快捷键
  6. 虚拟服务器 wr886,TP-Link TL-WR886N V2路由器端口映射怎么设置
  7. lazada发货_LAZADA开店——发货——收款流程,看这篇就够了
  8. UC Berkeley 马毅:深度学习的第一性原理
  9. python 计算制冷系统循环中的干度
  10. 第二波SaaS创业「TO C」潮,关于「网络效应」的辩思