El marco de permisos de Android está estrechamente acoplado. Para realizar el trabajo, a veces las aplicaciones necesitan acceder al permiso que se combina con tantas otras tareas también. Hay tres tipos de escenarios.
- Permisos que se usan solo una vez y luego nunca se vuelven a usar. Por ejemplo, al crear una cuenta en Amazon, es posible que deba verificar el número de teléfono móvil. Lo creas o no, muchos usuarios de teléfonos inteligentes no saben completar la OTP. Para facilitar su tarea, Amazon estaba usando el permiso de SMS para leer los mensajes entrantes y hacer uso de él durante la verificación OTP para completar automáticamente el proceso mediante el escaneo de los nuevos mensajes para la OTP válida. Después de eso, no están usando ese permiso de lectura de SMS. Hay muchos escenarios como este para que las aplicaciones completen una tarea única.
- Un solo permiso que se combina con muchas tareas. Por ejemplo, si un desarrollador desea tener acceso a los botones de control de volumen, necesita el permiso de accesibilidad para ser habilitado por el usuario. Dado que Google combinó muchas tareas de accesibilidad en este permiso, los usuarios podrían malinterpretar que la aplicación está haciendo algo más con el permiso a pesar de que tiene una razón legítima para pedir el permiso. Del mismo modo, si una aplicación necesita almacenar algún archivo en el móvil del usuario, debe solicitar el permiso de almacenamiento. Pero, Google le mostrará que la aplicación tiene acceso a sus archivos de fotos y videos que no son ciertos.
- Pocas veces, un desarrollador necesita pedir permiso para manejar errores o disparadores falsos dentro de la aplicación. Recientemente, he creado una aplicación llamada Pocket Sense para proteger el móvil del usuario de los carteristas. Para evitar un caso de falsa alarma relacionado con llamadas y omitir la falsa alarma, necesito pedir permiso relacionado con las llamadas aunque la aplicación no esté directamente relacionada con las llamadas telefónicas del usuario.