【问题标题】:Use programming to set touch input on android使用编程在android上设置触摸输入
【发布时间】:2015-05-14 18:56:51
【问题描述】:

我想使用编程来模拟屏幕上某个位置 (x, y) 上的“触摸”。

我看到了this链接,但它只教你如何注入字符。

我想在 (x, y) 位置注入一个触摸

如何使用 Android SDK(即 java)做到这一点?

【问题讨论】:

    标签: java android android-activity touch android-sdk-tools


    【解决方案1】:

    你可以像这样“伪造”一个触摸事件:

    MotionEvent event = MotionEvent.obtain(downTime, eventTime, action, x, y, metaState);
    view.onTouchEvent(event);
    

    API 文档

    新建一个MotionEvent,填写一个 基本运动值的子集。 此处未指定的是:设备 id(始终为 0)、压力和大小 (总是 1),x 和 y 精度(总是 1) 和 edgeFlags(始终为 0)。

    参数

    • downTime 用户最初按下开始 位置事件流。这个 必须从 SystemClock.uptimeMillis()。
    • eventTime 时间(以毫秒为单位) 生成了此特定事件。 这必须从 SystemClock.uptimeMillis()
    • action那种动作 执行——其中之一 ACTION_DOWN, ACTION_MOVE, ACTION_UP,或ACTION_CANCEL
    • x此事件的X坐标。
    • y此事件的 Y 坐标。
    • metaState任何元的状态/ 有效的修饰键 事件的生成时间。

    Link to API Docs

    【讨论】:

    • +1 好吧,我相信你是对的,但我无法让它发挥作用。见my new topic
    【解决方案2】:

    那将是 Monkeyrunner 来完成这项工作

    【讨论】:

      猜你喜欢
      • 2014-02-07
      • 1970-01-01
      • 2019-11-12
      • 2011-03-09
      • 1970-01-01
      • 1970-01-01
      • 2021-10-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多