/ / Wstrzykiwanie zdarzeń dotykowych - Android, dotyk, automatyzacja interfejsu użytkownika, wielodotykowy

Wstrzykiwanie zdarzeń dotykowych - android, dotyk, automatyzacja ui, multi-touch

Muszę wprowadzić zdarzenia dotykowegranice aplikacji, bez katalogu głównego. Powodem jest to, że mam zewnętrzny ekran dotykowy, którego chciałbym użyć do „zastąpienia” ekranu telefonu. Pomyśl o ekranie dotykowym jak o większej wersji ekranu telefonu. Już przesyłam ekran i napisałem usługa przechwytywania zdarzeń dotykowych na ekranie zewnętrznym. Teraz chciałbym wysłać je do telefonu, tak jakby zostały wysłane z telefonu. Rozwiązanie nie wymaga komputera (ponieważ ekran dotykowy musi zostać podłączony przez USB OTG) Istnieją FRep, VNC (non-root) i AutoInput, które wydają się robić przynajmniej niektóre zdarzenia dotykowe ponad granicami aplikacji bez rootowania. Z innych powodów muszę używać Jelly Bean lub nowszej wersji, więc UiAutomation może być moim najlepszym rozwiązaniem.

Widziałem tę odpowiedź (Jak wstrzyknąć zdarzenie kliknięcia za pomocą Android UiAutomation.injectInputEvent) i wygląda na to, że to może być to, czego potrzebuję, po prostu nie mogę go uruchomić. Po prostu zawiesza się na automation.injectInputEvent (motionDown, true);

Odpowiedzi:

0 dla odpowiedzi № 1

więc UiAutomation może być moim najlepszym rozwiązaniem

Tylko jeśli twój zewnętrzny ekran dotykowy jest w rzeczywistości komputerem z systemem Windows, OS X lub Linux i ma zainstalowany zestaw Android SDK.

Jest FRep

Co wymaga komputera z systemem Windows, OS X lub Linux, ponieważ używa on trochę zestawu SDK systemu Android.

VNC (inny niż root)

Co wymaga komputera z systemem Windows, OS X lub Linux, ponieważ używa on trochę zestawu SDK systemu Android.

AutoInput

Myślę, że używa to interfejsów API ułatwień dostępu, chociaż nie jestem w 100% pewien.

Widziałem tę odpowiedź

Co wymaga komputera z systemem Windows, OS X lub Linux, ponieważ „używa Robotium i Androida JUnit”, co z kolei wymaga zestawu Android SDK.

Jeśli chcesz zautomatyzować wprowadzanie danych jako zwykłą aplikację na Androida, jedyną opcją jest użycie interfejsów API ułatwień dostępu.