2012-04-23 13 views
6

quiero simular evento táctil. Estoy utilizando el código¿Inyectar evento de movimiento a través de 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); 

el problema está en esta línea

windowManager.injectPointerEvent(event, false); 

que soy incapaz de conseguir el acceso a WindowManger. Cuando trato de utilizar este

WindowManager windowmanager=(WindowManager) Context.getSystemService(Context.WINDOW_SERVICE); 

Recibí un mensaje de error. "No se puede hacer una referencia estática al método no estático getSystemService (String) del tipo Contexto"

¿Alguien me puede ayudar?

+0

Básicamente, solo puede lograr este objetivo para su aplicación o en un dispositivo rooteado –

Respuesta

0

Este error: I received an error message . "Cannot make a static reference to the non-static method getSystemService(String) from the type Context" es su problema.

Necesita obtener una referencia al contexto. Ya sea el contexto de la aplicación o la actividad.

una vez que tenga una instancia de contexto, puede llamar al método .getSystemService en ella.

Cuestiones relacionadas