¿Cómo ciertas aplicaciones registran todo lo que escribimos en Android?

Ciertas aplicaciones como Type Machine afirman poder grabar todo lo que escribes. Debe instalarlo y activarlo desde la configuración de accesibilidad del dispositivo, luego de alguna manera puede grabar el texto escrito.

Como es esto posible? No es una aplicación de teclado, por lo que no accede directamente a la información de las pulsaciones de teclas. Además, de acuerdo con la documentación de Android, "Solo el sistema puede acceder directamente a la InputMethodinterfaz de un IME" y "Solo el cliente activo InputConnectionaceptará operaciones".

Dado que un servicio de terceros como Type Machine no es una aplicación de sistema ni el cliente activo, ¿cómo puede registrar la información escrita?

Respuestas (2)

Instala un Servicio de Accesibilidad . Estos servicios generalmente se usan como lectores de pantalla (como TalkBack ) y, por lo tanto, tienen acceso al texto en pantalla. Por lo tanto, es capaz de registrar información en pantalla. Si instala la aplicación, notará que le pide que la registre como un servicio de accesibilidad para recopilar información de entrada.

Sin embargo, una limitación de esto es que no puede recopilar datos dentro de los campos de contraseña.

Hasta donde yo sé, ninguna aplicación de terceros puede registrar sus "pulsaciones de teclas" cuando se instala en un teléfono Android no rooteado. Cuando una aplicación obtiene privilegios y se le otorga acceso de root, solo entonces podría actuar como una aplicación del sistema en un teléfono rooteado. Es por eso que Google nunca ha dado acceso de root a los usuarios. Es demasiado arriesgado. Cualquiera puede instalar una aplicación de "registro de teclas" de spyware en su teléfono no rooteado y aprovecharla.

Veo mucha opinión aquí. La pregunta debe abordarse técnicamente, explicando de qué es capaz la configuración de accesibilidad, qué cosas devastadoras pueden hacer las aplicaciones al usarla, si es posible. Entonces es posible que tenga que lidiar con el reclamo de OP de la documentación de Android con respecto a la InputMethodinterfaz de IME.
Gracias por la respuesta, me gustaría algunos detalles técnicos más sobre cómo la aplicación puede acceder exactamente a las pulsaciones de teclas, como a través de qué API, clase, etc.