para - manual de programacion android pdf
¿Cuáles son los comandos necesarios para escribir eventos en/dev/input/eventX? (1)
Estoy desarrollando una aplicación para Android que necesita enviar eventos táctiles a / dev / input / eventX. Sé que la estructura del código C
para hacer tal cosa es la siguiente:
struct input_event {
struct timeval time;
unsigned short type;
unsigned short code;
unsigned int value;
};
Para usar dicho código, necesito configurar NDK . En cambio, quiero ejecutar comandos de linux
equivalentes usando Runtime.getRunTime.exec ()
en Android sin la necesidad de usar NDK. ¿Hay alguna forma de hacer eso?
Si no, ¿cuál es el resto del código C
necesario para enviar un evento? Por ejemplo, ¿cómo puedo enviar un evento táctil a x = 200 e y = 300 a event0? Busqué y no encontré una solución clara.
Gracias.
No tengo claro por qué necesita enviar evento a /dev/input/eventX
directamente. Pero si puede enviar a través de adb
, puede inyectar muchos tipos de eventos al dispositivo.
Prueba esto en tu computadora:
adb shell input tap 200 300
O esto en el shell de tu dispositivo Android:
input tap 200 300
Pero tiene una gran demora debido a la inyección externa.
Más información sobre input
comando de input
ver aquí.
Usage: input [<source>] <command> [<arg>...]
The sources are:
mouse
keyboard
joystick
touchnavigation
touchpad
trackball
stylus
dpad
touchscreen
gamepad
The commands and default sources are:
text <string> (Default: touchscreen)
keyevent [--longpress] <key code number or name> ... (Default: keyboard)
tap <x> <y> (Default: touchscreen)
swipe <x1> <y1> <x2> <y2> [duration(ms)] (Default: touchscreen)
press (Default: trackball)
roll <dx> <dy> (Default: trackball)