Permisos en tiempo de ejecución

El 17 de agosto, ocurrió el release de Android 6.0, mejor conocido como Marshmallow. A pesar que el release oficial del Sistema Operativo aún se mantiene en Preview Chanel, ya existe la intención de Google de lanzar la nueva versión de Android para este año.

Existen cientos de cambios, pero posiblemente la más cautivadora para los usuarios es el nuevo sistema de gestión de permisos. Las aplicaciones hacen visibles los permisos que requieren para su ejecución antes de iniciar el proceso de instalación, regularmente son abusivos, sospechosos e incluso innecesarios.

Todo usuario de Android ha pasado por el momento de instalar una aplicación que solicita permisos para leer mensajes de texto, acceso a Internet, estado de la red, ubicación geográfica; Resulta que la descripción de la aplicación no indica ninguna funcionalidad que requiera de estos permisos, generando sospechas al usuario y evidentemente, incertidumbre. Suficiente para que una aplicación no sea instalada.

¿Cómo gestionar los permisos en Marshmallow?

Existen dos maneras para realizar esta labor, la primera de ellas reside en la opción de ajustes o configuración, específicamente en la sección de aplicaciones donde existe un panel para configurar la permisología que puede solicitar cualquier aplicación. En este primer escenario, no se trata sobre manejar o controlar particularmente una aplicación en específico, sino un permiso genérico en cuestión y ahí vera un listado de las aplicaciones que podrían solicitarlo, además estará la opción de aceptar o negar el acceso. La segunda opción, es relativamente similar, se realiza directamente sobre el lanzador de aplicaciones, basta con pulsar la aplicación que se desea revisar sus permisos y gestionarlos.

¿Cómo impacta este nuevo modelo a los desarrolladores?

La solicitud de permisos en tiempo de ejecución, permite que los desarrolladores soliciten los accesos en el contexto que realmente lo requieran, evitando el contrato de aceptar la lista de permisos durante la instalación vía Google Play. Ahora, los programadores deben trabajar en los mecanismos menos invasivos para realizar la solicitud de un permiso, para que la experiencia del usuario se mantenga y no decaiga.

Véase: Guía para el diseño de permisos (https://goo.gl/IkUAMV)

Uno de los mecanismos que pueden ser utilizados por los desarrolladores para evitar el uso excesivo de permisos, es utilizar los conocidos Intents en el desarrollo de aplicaciones para Android, lo que permite de cierta manera que todas las aplicaciones puedan interactuar entre ellas, sin necesidad de desarrollar funcionalidades ya existentes en el sistema o en las aplicaciones nativas de Android.

En caso que la aplicación a desarrollar requiera permisos para que sus funcionalidades no se vean afectadas en el servicio que ofrecen, pues existen un conjunto de rutinas o métodos en el API 23 de Android Marshmallow como: ContextCompat.checkSelfPermission(), requestPermission() y shouldShowRequestPermissionRationale().

Véase: Guía para desarrollar permisos (https://goo.gl/hHZCra)

Fácil, simple y sencillo. Dar al usuario el poder para controlar como quiera todo lo relacionado a su privacidad y seguridad, un tema complejo en los últimos años, pero que ha sido la norma desde hace décadas solo que los detonantes en los pasados años han tenido una magnitud gigantesca, a pesar que la lucha por la privacidad, seguridad y neutralidad en la red es una historia bastante antigua, pero invisibilizada a conveniencia.

Proporcionar la funcionalidad de gestionar y controlar los eventos que ocurren en el Sistema Operativo, siempre es un valor positivo y digno de agradecer.

Happy Coding 😉

 

DesdeLaPlaza.com / José Manuel España Figueroa