El nuevo grupo de permisos en Android P deja claro cuándo las aplicaciones quieren leer su registro de llamadas o números de teléfono para que sepa qué están haciendo exactamente las aplicaciones.
Vista previa para desarrolladores de Android 3 (Android P Beta 2) acaba de caer, y con ello vienen una serie de cambios, principalmente bajo el capó. Si bien hay algunos cambios de cara al usuario, casi todos los cambios están en preparación para el lanzamiento final. La mayor parte de la actualización son las API finalizadas, lo que significa que ahora puede crear una aplicación dirigida a API 28, Android P. En Developer Preview 3, se agregó un nuevo grupo de permisos. Este grupo de permisos pertenece específicamente al registro de llamadas de Android, lo que significa que cuando una aplicación quiere leer su registro de llamadas o números de teléfono, se mostrará un mensaje destacado para el usuario que le indicará exactamente qué tipo de acceso le están otorgando a una aplicación.
Primero, estas son las nuevas cadenas que verá un usuario cuando se solicite algún permiso en el nuevo grupo de permisos CALL_LOG.
<stringname="permgroupdesc_calllog">read and write phone call logstring>
<stringname="permgrouprequest_calllog">Allow <b>%1$s</b> to access your phone call logs?string>
¿Cómo afectará esto a las aplicaciones existentes? Android utiliza agrupaciones de permisos para permisos marcados como "peligrosos" para administrar el nivel de acceso otorgado a una aplicación y elegir el mensaje que se mostrará al usuario. Anteriormente, READ_CALL_LOG y otros permisos relacionados con el registro de llamadas se mostraban como parte del diálogo general "acceder a las funciones telefónicas del dispositivo", pero ese mensaje es extremadamente vago. No sólo eso, se podría argumentar que es irrelevante para el registro de llamadas de su dispositivo. Android P Developer Preview 3 ha reagrupado todos los permisos relacionados con el registro de llamadas en un grupo completamente nuevo llamado apropiadamente CALL_LOG para que aparezca un mensaje más adecuado cuando una aplicación solicite él.
Las aplicaciones deberán solicitar explícitamente los permisos CALL_LOG, READ_CALL_LOG, WRITE_CALL_LOG o PROCESS_OUTGOING_CALLS del grupo CALL_LOG si necesitan acceder al registro de llamadas o procesar llamadas salientes, según la documentación de vista previa para desarrolladores de Android P. Además, los desarrolladores deberán tener en cuenta cuándo el usuario niega a la aplicación el acceso a la información del registro de llamadas.
También puede consultar la nueva agrupación de permisos tomada del marco de Android descompilado a continuación.
<permission-groupandroid: description="@string/permgroupdesc_calllog"android: icon="@drawable/perm_group_phone_calls"android: label="@string/permgrouplab_calllog"android: name="android.permission-group.CALL_LOG"android: priority="450"android: request="@string/permgrouprequest_calllog"/>
<permissionandroid: description="@string/permdesc_accessImsCallService"android: label="@string/permlab_accessImsCallService"android: name="android.permission.ACCESS_IMS_CALL_SERVICE"android: protectionLevel="privileged|signature"/>
<permissionandroid: description="@string/permdesc_readCallLog"android: label="@string/permlab_readCallLog"android: name="android.permission.READ_CALL_LOG"android: permissionGroup="android.permission-group.CALL_LOG"android: protectionLevel="dangerous"/>
<permissionandroid: description="@string/permdesc_writeCallLog"android: label="@string/permlab_writeCallLog"android: name="android.permission.WRITE_CALL_LOG"android: permissionGroup="android.permission-group.CALL_LOG"android: protectionLevel="dangerous"/>
<permissionandroid: description="@string/permdesc_processOutgoingCalls"android: label="@string/permlab_processOutgoingCalls"android: name="android.permission.PROCESS_OUTGOING_CALLS"android: permissionGroup="android.permission-group.CALL_LOG"android: protectionLevel="dangerous"/>
Fuente: Documentación para desarrolladores de Android P