UIWebView上模拟点击

大强快跑 2016-06-12 03:49:19
想要在WebView上用代码模拟点击事件,用MotionEvent可以实现,但是效果不好,感觉变成拖动事件或者双击事件了。
webView.dispatchTouchEvent(MotionEvent.obtain(SystemClock.uptimeMillis(), SystemClock.uptimeMillis(), MotionEvent.ACTION_DOWN, ballX, ballY, 0));
webView.dispatchTouchEvent(MotionEvent.obtain(SystemClock.uptimeMillis(), SystemClock.uptimeMillis(), MotionEvent.ACTION_UP, ballX, ballY, 0));
有没有相关的编码经历,有什么解决的办法,求教了。。
...全文
181 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
大强快跑 2016-06-12
  • 打赏
  • 举报
回复
刚刚解决了。无意中发现当用手指滑动过后再发送模拟点击,成功率会很高。于是想到之前见过的一个函数有回收事件的代码,于是测试一下,成功了。 private void setSimulateClick(View view, float x, float y) { long downTime = SystemClock.uptimeMillis(); final MotionEvent downEvent = MotionEvent.obtain(downTime, downTime, MotionEvent.ACTION_DOWN, x, y, 0); //downTime += 1500; final MotionEvent upEvent = MotionEvent.obtain(downTime, downTime, MotionEvent.ACTION_UP, x, y, 0); // view.onTouchEvent(downEvent); // view.onTouchEvent(upEvent); view.dispatchTouchEvent(downEvent); view.dispatchTouchEvent(upEvent); downEvent.recycle(); upEvent.recycle(); } 注意原来代码中down和up事件间隔1500毫秒,但是我发现这个没用的,反而会模拟失败。

80,490

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧