2012-04-23 17 views
6

Chcę symulować wydarzenie dotykowe. Używam tego koduInject motion event via windowmanger?

MotionEvent.PointerCoords[] coords = { new MotionEvent.PointerCoords() }; 
coords[0].x = 200; 
coords[0].y = 200; 
int[] ptrs = { 0 }; 
MotionEvent event =MotionEvent.obtain(SystemClock.uptimeMillis(),SystemClock.uptimeMillis(), action, 1, ptrs, coords, 0, 1, 1, 0, 0, InputDevice.SOURCE_TOUCHPAD, 0); 
windowManager.injectPointerEvent(event, false); 

problem jest z tej linii

windowManager.injectPointerEvent(event, false); 

że nie jestem w stanie uzyskać pełny dostęp do WindowManger. Kiedy próbuję użyć tego otrzymałem komunikat o błędzie. "Nie można utworzyć statycznego odwołania do niestatycznej metody getSystemService (String) z typu Context"

Czy ktoś może mi pomóc!

+0

Zasadniczo możesz osiągnąć ten cel tylko w swojej aplikacji lub na urządzeniu zrootowanym –

Odpowiedz

0

Ten błąd: I received an error message . "Cannot make a static reference to the non-static method getSystemService(String) from the type Context" to twój problem.

Musisz uzyskać odniesienie do kontekstu. Kontekst aplikacji lub działanie.

Po utworzeniu instancji kontekstu można wywołać metodę .getSystemService.