El Messenger de Facebook ofrece esta bonita función llamada "cabezas de chat". Para ello, solicita el permiso para superponer todo. Sin embargo, he leído en alguna parte que también puede ver lo que se muestra en la pantalla. ¿Puedes decirme si eso es cierto?
Respuesta
¿Demasiados anuncios?El permiso "dibujar sobre otras aplicaciones" (conocido por los desarrolladores como android.permission.SYSTEM_ALERT_WINDOW
) sólo permite a la aplicación crear una ventana de tipo TYPE_SYSTEM_ALERT
. Este es el mismo tipo de ventana que utiliza el aviso de batería, entre otras cosas, y se muestra encima de cualquier ventana normal, sea cual sea la que estés haciendo.
El propio Android se encarga de dibujar esta ventana sobre las demás ventanas. Una aplicación con este permiso aún no puede leer otras partes de la pantalla o leer los datos de otras aplicaciones. Este permiso ni siquiera permite a la aplicación ver (los nombres de) qué otras aplicaciones se están ejecutando, lo cual está controlado por un permiso diferente llamado "Recuperar aplicaciones en ejecución". Facebook Messenger no utiliza ese permiso, pero la aplicación principal de Facebook sí lo hace, para poder soportar Facebook Home.
Aun así, este permiso está lejos de ser inofensivo. Una aplicación podría utilizar este permiso para mostrar anuncios emergentes cuando estás haciendo otra cosa: anuncios que no puedes descartar, ni siquiera pulsando home . Con un poco de astucia, puede incluso ser posible que una aplicación coloque una ventana que oculte un diálogo de confirmación importante, de modo que mientras crees que estás respondiendo "Sí" a una pregunta inofensiva, el botón pertenece a una advertencia sobre la instalación de más aplicaciones o el borrado de tus datos, que la alerta del sistema ha ocultado. Esta era una táctica común utilizada por el malware de Windows hace unos años (antes de que el UAC llegara a Windows Vista).