2018 Android тестування, як імітувати мультитач (збільшення

Androids .help Русский Android-спільнота.

Я можу просто імітувати окремі штрихи - натисніть, серветки, натисніть і утримуйте т.д. в моїх тестах, але абсолютно застряг з моделювання мульти дотик на HTС Desire з Android 2.2.

Чи не могли б ви, будь ласка, порадьте, як я можу відтворити події ланцюжку перевірити мульти- штрихи?

Я думаю, що потрібно використовувати з хитрими вид MotionEvent як маску або щось подібне, але не мають ні найменшого уявлення про те, як це зробити.

event ACTION_POINTER_DOWN (pid 1) [# 0 (pid 0) = 153,230; # 1 (pid 1) = 380,538] event ACTION_MOVE [# 0 * (pid 0) = 153,231 *; # 1 * (pid 1) = 380,538 *]

Як я можу генерувати події з 4 координатами (PID 0 X0 Y0 і PID 1 x1 y1)?

Схоже, мені потрібно знайти спосіб, як використовувати таку обставину:

громадськості статичної MotionEvent отримуємо (довгий час простою, довго eventTime, Int дії, Int покажчиків, Int [] pointerIds, PointerCoords [] pointerCoords, INT metaState, плавати xPrecision, плавати yPrecision, INT DeviceId, INT edgeFlags, Int джерело, Int прапори)

Завдяки Дана для відповіді, я спробував цю логіку, але все ще стикаються з проблемами, щоб додати координати:

Це послідовність подій потрапляють в моїй тестової заглушки і кинули, як:

Тут ви можете побачити, що (2 * 256) + MotionEvent.ACTION_MOVE не змінює покажчик ID для події :( і pointerToMove і л;

Моя проблема в тому, що я не можу генерувати 2 пари координат для стрілка 0 і покажчик 1:

Тут ви можете побачити, що за допомогою вашою логікою, я додав PID1 до події, але він як і раніше не має координати, викликають х і у була пов'язана з ПІД-регулятором 0.

Проте не мають ніяких ідей, як реалізувати його, чи не хтось коли-небудь відправити мультитач події?

Top 5 Respuesta

Я вважаю, що потрібно просто вказати індекс покажчика в параметрі "дія", переданого MotionEvent.obtain. Зокрема, верхні 8 - біт действіяуказку і нижні 8 - бітдействіе (наприклад, MotionEvent.ACTION_MOVE). Так що, якщо ви хочете, щоб перемістити другу покажчик це повинно працювати:

я вибачаюся. я думаю, що я зрозумів ваше запитання. Ви можете ігнорувати це відповідь

Hope this helps

останні питання

Схожі статті