Android上的模拟点击
模拟点击在 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上的模拟点击相关推荐
- android xml talkback,如何在Android上修改可点击的View的TalkBack使用提示?
是的,这绝对是可能的! 覆盖onInitializeAccessibilityNodeInfo方法 如果您有自定义视图,则可以覆盖onInitializeAccessibilityNodeInfo(A ...
- android触屏设备event模拟,android 使用命令模拟点击 滑动
adb shell getevent -p 出现上述截图的就是屏幕触摸输入设备 带上 -l adb shell getevent -p-l . EV_ABS ABS_MT_TRACKING_ ...
- go模拟android浏览器,golang模拟点击浏览器
发现一个很好玩的浏览器模拟操作包,下面演示一下,打开网站,点击某个链接 package main import ( "fmt" "time" "git ...
- android 8.0模拟点击,安卓8.0能用的模拟器
小鸡模拟器.有mine模拟器.KE模拟器. 1.Genymotio,适合人群:开发者.测试人员.有一定版配置基础,配合VirtualBox运行,流畅兼容较好,需要一定配置经验,英文界面. 2.逍遥安卓 ...
- Android中模拟点击软件的实现原理探究
简介 按键触摸类模拟点击软件最早开始于PC时代,指的是可以通过设置.脚本控制等方式去实现模拟点击,解放双手,达到自动化操作的目的.在Android中,模拟点击对应的就是触发屏幕点击事件,多用于游戏中完 ...
- Android 关于模拟点击和Hook框架的杂谈
1. 背景 就跟我们以前玩页游挂机一样,Android端也有游戏,而且样式繁多,如果重复的操作每次都要自己重复一遍操作,那不得烦死,所以就有了这篇文章,本文仅探讨方案,大家可以尝试.而且现在的模拟器( ...
- Android:辅助功能(模拟点击,模拟手势)入门基本学习
在 Android 中,有个非常强大的功能,那就是辅助功能.辅助功能是用于服务残障人士的.比如对于视障人士来说,辅助功能可以帮助他们读出屏幕上的文字或图片(阅读图片时会播放其 ContentDescr ...
- android root 模拟点击,免ROOT实现模拟点击任意位置
微信7.0版本之前抢红包插件点击基本上都借助AccessibilityService无障碍的performClick方法点击控件,不过7.0版本的微信的红包控件(view)没有id这一项了,所以per ...
- Android 模拟点击
Android 模拟点击 前言 最近提出一个需求让做模拟点击,什么意思呢?就是有一个按钮,你点击这个按钮触发的不是按钮本身,而是其他的地方.其实就是在用户不触摸手机屏幕的时候,模拟触发手机屏幕的某个地 ...
最新文章
- xlrd.biffh.XLRDError:不支持的格式或文件损坏:预期的BOF记录;找到了b’b \ x14#e \ xbc \
- spring实现listener(转)
- Chrome开发者工具详解(4)-Profiles面板
- 我的世界一个程序导致JAVA,Java地位无可动摇的12个原因
- 解析ajax数据显示到from表单中,jQuery Ajax从另一页上的Form请求中提取数据?
- word如何调整字间距离_大篇幅文字如何排版才能赏心悦目?
- Git.gitignore规则不生效的解决办法
- jack插头_防水连接器航空插头特点
- LC.234.Palindrome Linked List
- SVN创建分支/合并分支/切换分支
- 边缘计算在物联网领域的发展前景
- JavaScript高级程序设计之表单基础
- 用户态协议栈之epoll实现
- O2OA 稳定版 V4.2235 发布,功能性能等多方面优化升级
- Cadence Allegro 17.4 IBS文件处理(IBIS模型)
- [Office] Microsoft Office Outlook 2007/2010 设置邮件已读/未读快捷键
- 人机融合系统的休谟之问到工业智能的成熟应用的联想
- (转)银河麒麟V10sp1服务器系统安装redis不能使用的解决办法
- PAT 1085 PAT单位排行 (Microsoft_zzt)
- 常见的python图形-线性图
热门文章
- VideoJS居中播放按钮
- 自动生成文章的AI伪原创app下载安装教程
- matlab 狄利克雷函数图像,Poisson image editing算法实现的Matlab代码解析
- 几何画板在现代教学中有哪些应用
- 关于Ctrl+R(reverse-search-history)的反向搜索 —— forward-search-history的快捷键
- 虚拟服务器 wr886,TP-Link TL-WR886N V2路由器端口映射怎么设置
- lazada发货_LAZADA开店——发货——收款流程,看这篇就够了
- UC Berkeley 马毅:深度学习的第一性原理
- python 计算制冷系统循环中的干度
- 第二波SaaS创业「TO C」潮,关于「网络效应」的辩思