直播平台软件开发,Android代码模拟触摸、点击及滑动等事件
直播平台软件开发,Android代码模拟触摸、点击及滑动等事件
一、应用中模拟物理和屏幕点击事件
例如,模拟对某个view的点击事件
1 | <br> private void simulateClick(View view, float x, float y) {<br> long downTime = SystemClock.uptimeMillis();<br> final MotionEvent downEvent = MotionEvent.obtain(downTime, downTime,MotionEvent.ACTION_DOWN, x, y, 0);<br> downTime += 1000;<br> final MotionEvent upEvent = MotionEvent.obtain(downTime, downTime,MotionEvent.ACTION_UP, x, y, 0);<br> view.onTouchEvent(downEvent);<br> view.onTouchEvent(upEvent);<br> downEvent.recycle();<br> upEvent.recycle();<br>}<br> <br> public void setMouseClick(int x, int y){ <br> MotionEvent evenDownt = MotionEvent.obtain(System.currentTimeMillis(), <br> System.currentTimeMillis() + 100, MotionEvent.ACTION_DOWN, x, y, 0); <br> dispatchTouchEvent(evenDownt); <br> MotionEvent eventUp = MotionEvent.obtain(System.currentTimeMillis(), <br> System.currentTimeMillis() + 100, MotionEvent.ACTION_UP, x, y, 0); <br> dispatchTouchEvent(eventUp); <br> evenDownt.recycle(); <br> eventUp.recycle(); <br>} <br> |
这实现原理就是模拟两个MotionEvent (按下和提起) 然后用一个View 来处理这个Event 。
二、Instrumentation实现模拟键盘鼠标事件
1 | <br> <br> // 可以不用在 Activity 中增加任何处理,各 Activity 都可以响应 <br>Instrumentation inst = new Instrumentation(); <br>inst.sendPointerSync(MotionEvent.obtain(SystemClock.uptimeMillis(),SystemClock.uptimeMillis(), <br> MotionEvent.ACTION_DOWN, 200, 500, 0)); <br>inst.sendPointerSync(MotionEvent.obtain(SystemClock.uptimeMillis(),SystemClock.uptimeMillis(), <br> MotionEvent.ACTION_UP, 200, 500, 0)); |
以上就是 直播平台软件开发,Android代码模拟触摸、点击及滑动等事件,更多内容欢迎关注之后的文章
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
2022-04-12 成品直播源码,顶部导航栏部分支持左右滑动
2022-04-12 短视频商城系统,自动更改每次下拉后的刷新动画
2022-04-12 直播软件搭建,关于个人主页背景色的更改