Permisos
Esta lista es la recopilación de todos los permisos que nos hemos ido encontrando a lo largo de los análisis de las aplicaciones. No es una lista exhaustiva de todos los permisos posibles que existen en Android, sino que se corresponden únicamente con las aplicaciones que ya analizamos. En ese sentido, es un repositorio que se irá actualizando con el tiempo.
La meta de tener esta base de datos es poder identificar cuáles son los permisos más utilizados, pero sobre todo, poder tener una guía rápidas de referencia que nos permita entender las funciones de los mismos.
Es importante aclarar que la implementación de los permisos en Android se relaciona directamente con las funciones de la aplicación en particular. Así, el viejo ejemplo de la aplicación de linterna que solicita el permiso de ubicación, sigue siendo un buen ejemplo. ¿Para qué me pide la ubicación una aplicación cuya única función es prender o apagar el flash del celular?
Ahora bien, la manera en la que un desarrollador A implemente una función en cierta aplicación, puede ser distinta de la manera que la implemente un desarrollador B. En ese sentido, bien podría ser que, para la misma función, dependiendo del tipo de aplicación y otros factores, los permisos sean distintos. Lo que nos interesa a nosotros en este proyecto es simplemente poder relacionar directamente el permiso con la función (no la manera en la que se implementó) y, por lo mismo, poder descubrir discrepancias y abusos.
Dejamos aquí el enlace a la documentación de permisos en Android.
Permiso | Función | Número de veces presente |
---|---|---|
ACCESS_BACKGROUND_LOCATION | Acceso en segundo plano a la localización del dispositivo. Debe venir acompañado de otro permiso de localización ACCESS_COARSE_LOCATION o ACCESS_FINE_LOCATION | 1 |
ACCESS_COARSE_LOCATION | Acceso a la ubicación aproximada del dispositivo (definida por red) | 4 |
ACCESS_FINE_LOCATION | Acceso a la ubicación precisa del dispositivo (definida por la red y el GPS) | 7 |
ACCESS_LOCATION_EXTRA_COMMANDS | Permite el acceso a funciones extra de la localización | 1 |
ACCESS_NETWORK_STATE | Acceso a información sobre redes en el dispositivo | 7 |
ACCESS_NOTIFICATION_POLICY | Acceso a las reglas sobre notificaciones del celular | 3 |
ACTION_DIAL | Permite que se pueda abrir el marcado de teléfono con los datos prerellenados | 1 |
ACTION_MANAGE_WRITE_SETTINGS | Muestra la sección en Android donde se listan las apps que pueden modificar los ajustes del teléfono. Sirve para darle permisos a la app para modificar los ajustes del teléfono. | 1 |
ACTIVITY_RECOGNITION | Permite que la aplicación pueda reconocer actividad física. Acceso a sensores de movimiento, temperatura y demás. | 1 |
ANSWER_PHONE_CALLS | Permite que la aplicación responda de manera automática a llamadas de teléfono | 1 |
AUTHENTICATE_ACCOUNTS | Permite que la aplicación utilice funciones del "account manager", que incluye crear cuentas y asignarles contraseñas | 1 |
BIND_GET_INSTALL_REFERRER_SERVICE | Permite usar la API de instalación de la Playstore para recuperar cierta información como: La URL de referencia del paquete instalado La marca de tiempo, en segundos, de cuando se produjo un clic de referencia (tanto del cliente como del servidor) La marca de tiempo, en segundos, de cuando comenzó una instalación (tanto del cliente como del servidor) La versión de la app en el momento en que esta se instaló por primera vez Si el usuario interactuó con la experiencia instantánea de tu app en los últimos 7 días | 4 |
BLUETOOTH | Permite que la aplicación pueda conectarse a dispositivos Bluetooth | 1 |
C2D_MESSAGE | 2 | |
CALL_PHONE | Permite a una aplicación iniciar una llamada sin pasar por el marcado de teléfono para que el usuario confirme la llamada. | 6 |
CALL_PRIVILEGE | Permite a una aplicación iniciar una llamada sin pasar por el marcado de teléfono para que el usuario confirme la llamada. Incluye todo tipo de números, incluso de emergencia. | 1 |
CAMERA | Permite acceso a la cámara: tomar fotos y grabar video. | 4 |
COARSE_LOCATION | 1 | |
FLASHLIGHT | Permite el acceso al flash | 1 |
FOREGROUND_SERVICE | Permite que una aplicación se superponga a otras | 6 |
GET_ACCOUNTS | Permite identificar las cuentas registradas en el dispositivo | 1 |
INTERACT_ACROSS_USERS_FULL | 1 | |
INTERNET | Permite acceso completo a internet | 7 |
MAPS_RECEIVE | Permite el acceso al servicio de Mapas | 2 |
MODIFY_AUDIO_SETTINGS | Permite modificar los ajustes de audio del sistema | 2 |
READ_CONTACTS | Permite acceso a los contactos guardados en la libreta de direcciones de google | 3 |
READ_EXTERNAL_STORAGE | Permite la lectura del almacenamiento del teléfono | 3 |
READ_GSERVICES | Permite leer servicios de Google. Antes se utilizaba para los mapas. | 4 |
READ_PHONE_STATE | Permite el acceso de sólo lectura al estado del teléfono, que incluye cuentas en el teléfono, estado de cualquier llamada de teléfono que esté en curso e información sobre la red. | 3 |
READ_SYNC_SETTINGS | Permite leer los ajustes de sincronización del dispositivo | 1 |
RECEIVE | Permite recibir datos desde internet | 6 |
RECEIVE_BOOT_COMPLETED | Permite que la aplicación se ejecute automáticamente cuando se reinicia el teléfono | 3 |
RECORD_AUDIO | Permite grabar audio | 2 |
RECORD_VIDEO | Permite grabar video | |
SEND_SMS | Permite mandar mensajes SMS | 1 |
SYSTEM_ALERT_WINDOW | Permite que la aplicación muestre ventanas de alerta por sobre todas las demás aplicaciones | 2 |
VIBRATE | Permite modificar el ajuste de vibración del teléfono | 3 |
WAKE_LOCK | Evita que el teléfono entre en modo de reposo | 6 |
WRITE_CONTACTS | Permite modificar y agregar contactos | 1 |
WRITE_EXTERNAL_STORAGE | Permite escribir y leer en el almacenamiento del teléfono | 5 |
WRITE_SETTINGS | Permite leer y modificar los ajustes del teléfono | 1 |
WRITE_SYNC_SETTINGS | Permite modificar los ajustes de sincronización del dispositivo | 1 |