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 № 1wię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.