
Adamya Sharma / Autoridad de Android
TL;DR
- Google está desarrollando una nueva herramienta de selección de contactos para Android 17 para corregir el permiso de contacto actual de todo o nada.
- Esta herramienta le permitirá compartir contactos específicos con una aplicación, en lugar de toda su lista de contactos.
- El acceso será instantáneo y las aplicaciones solo podrán solicitar los campos de datos específicos que necesiten.
La lista de contactos de su dispositivo contiene un tesoro de datos confidenciales que muchas aplicaciones quieren tener en sus manos. Afortunadamente, el sistema de permisos de Android evita que las aplicaciones accedan a tus contactos sin tu conocimiento. Desafortunadamente, es un sistema de todo o nada: o le das acceso a una aplicación a todos tus contactos o a ninguno de ellos. Esto es muy problemático porque te obliga a dar a muchas aplicaciones acceso total a tus contactos incluso si no lo necesitan. La actualización de Android 17 del próximo año podría solucionar este problema al introducir un selector de contactos del sistema que le permite seleccionar contactos específicos para compartir con una aplicación, en lugar de darle acceso a toda su lista de contactos.
Cómo las aplicaciones de Android leen actualmente los contactos de su dispositivo
Cada teléfono Android tiene una base de datos local centralizada de contactos. El sistema operativo protege el acceso a esta base de datos para evitar que las aplicaciones la lean directamente. En cambio, las aplicaciones deben interactuar con el proveedor de contactos, un componente del sistema que proporciona API para recuperar o modificar información en la base de datos de contactos. Para utilizar estas API, las aplicaciones deben contener el archivo READ_CONTACTS permiso para leer los datos y el WRITE_CONTACTS permiso para escribirlo.
El problema con este enfoque, como dije, es que es todo o nada. Una aplicación obtiene acceso completo de lectura o escritura a toda su lista de contactos, o no obtiene ningún acceso. Si bien las aplicaciones de mensajería y redes sociales pueden tener una necesidad legítima de ver todos sus contactos, muchas otras aplicaciones solo necesitan acceso a uno, dos o solo un puñado. Sin embargo, debido a la forma en que Android maneja actualmente el acceso a los contactos, estas aplicaciones no tienen más remedio que solicitar permisos amplios.

Mishaal Rahman / Autoridad de Android
Si bien el modelo de permiso es el método más común, técnicamente existe otra forma de permitir que una aplicación acceda a sus contactos. En lugar de interactuar directamente con el proveedor de contactos, una aplicación puede utilizar un intermediario, la aplicación de contactos predeterminada del sistema, para leer información sobre un contacto. Debido a que la aplicación Contactos ya tiene acceso completo a su base de datos de contactos, puede recuperar esta información de manera segura en nombre de otras aplicaciones sin requerir una nueva solicitud de permiso.
Sin embargo, este enfoque está lleno de fallas. En primer lugar, no existe una única aplicación de contactos unificada para todos los dispositivos Android. Aunque Google proporciona una aplicación de referencia en el Proyecto de código abierto de Android (AOSP), la mayoría de los fabricantes crean la suya propia (como Samsung) o utilizan la aplicación Contactos de Google. Esta fragmentación significa que la experiencia de selección de contactos puede ser inconsistente, lo que crea complicaciones para los desarrolladores.
En segundo lugar, este método permite que una aplicación elija solo un contacto a la vez. Si una aplicación necesita más de uno, tiene que preguntarle al usuario repetidamente, lo cual es una experiencia frustrante. En tercer lugar, no puedes limitar el tipo de información compartida sobre un contacto. Finalmente, la API subyacente tiene problemas, ya que muchos desarrolladores sienten que necesitan un servicio amplio. READ_CONTACTS permiso de todos modos para evitar problemas.

Mishaal Rahman / Autoridad de Android
Es probable que estas deficiencias sean la razón por la que Google está desarrollando una nueva herramienta de selección de contactos del sistema para Android 17. Este movimiento seguiría un cambio similar que Apple introdujo en iOS el año pasado.
No quiero perderme lo mejor de Autoridad de Android?


Cómo Google mejorará la privacidad con el selector de contactos de Android 17
Google está desarrollando una nueva aplicación dedicada a «Seleccionar contactos», como descubrí en la última versión de Android Canary. Esta aplicación proporciona a otras aplicaciones una nueva forma de seleccionar contactos que preserva la privacidad, similar a cómo funciona el recopilador de fotos de Android para seleccionar medios. Debajo del capó, el nuevo selector de contactos está registrado para manejar la solicitud estándar del sistema para la selección de contactos (ACTION_PICK con el vnd.android.cursor.dir/contact, phone_v2, email_v2 tipos MIME), pero está configurado con una prioridad más alta (101) para garantizar que tenga prioridad sobre la aplicación Contactos predeterminada de su dispositivo.

Mishaal Rahman / Autoridad de Android
Las cadenas dentro de la aplicación Selector de contactos revelan que podrá seleccionar uno o más contactos para compartir con una aplicación a la vez. La aplicación tendrá entonces acceso a toda la información disponible de los contactos seleccionados, como dirección, fecha de nacimiento, correo electrónico y nombre. Básicamente, este acceso parece ser una instantánea. La aplicación no recibirá ninguna actualización posterior realizada en la información de un contacto, lo que protege aún más su privacidad al evitar que las aplicaciones rastreen los cambios a lo largo del tiempo.
Código
%1$s will only have access to info from the contacts you select
When you select a contact, %1$s will have access to the following info from your device contacts.\n\nIf you make any updates to the contact info, %1$s won’t have access to the changes.
Contact info can include details such as: El nuevo código dentro del sistema operativo revela más información sobre cómo funcionará el selector de contactos del sistema. EL ContactsPickerSessionContract muestra que Android 17 está agregando una nueva acción de intención dedicada llamada ACTION_PICK_CONTACTS. Esto le dará a las aplicaciones la capacidad de invocar directamente el nuevo selector de contactos.
Más importante aún, esta nueva acción incluye intenciones adicionales que permitirán que las aplicaciones sean mucho más específicas.

Mishaal Rahman / Autoridad de Android
- Limite la cantidad de contactos que el usuario puede seleccionar a la vez usando
EXTRA_PICK_CONTACTS_SELECTION_LIMIT. - Especifique qué campos de datos específicos necesita (por ejemplo, solo números de teléfono) usando
EXTRA_PICK_CONTACTS_REQUESTED_DATA_FIELDS.
Esto brinda a los desarrolladores una forma granular de solicitar acceso solo a los datos que necesitan de uno o más contactos, una mejora significativa para la privacidad del usuario.
El nuevo selector de contactos es claramente un trabajo en progreso. En su estado actual, aún no maneja lo nuevo. ACTION_PICK_CONTACTS Intención. También sabemos que aún no está activo, ya que la función está oculta detrás de una bandera deshabilitada en la última versión de Canary.
Es probable que Google apunte a Android 17 para el debut de esta función, ya que introduce una nueva API y cambia una intención común utilizada por muchas aplicaciones. Esto está respaldado por el código dentro de la aplicación Contact Picker que controla la versión SDK de la aplicación de llamadas. Para las aplicaciones creadas para Android 17 y posteriores, el nuevo selector de contactos manejará la solicitud; Para aplicaciones más antiguas, la solicitud se reenviará a la aplicación Contactos predeterminada de su dispositivo para mantener la compatibilidad.
Sin embargo, este nuevo enfoque presenta un obstáculo importante: es opcional. Sin embargo, nada impedirá que los desarrolladores sigan solicitando un amplio acceso a sus contactos. Para que esta función realmente marque la diferencia, las aplicaciones deben actualizarse para utilizar el nuevo selector de contactos. Si bien algunos desarrolladores preocupados por la privacidad lo adoptarán rápidamente, muchos no lo harán.
Para fomentar una adopción generalizada, es probable que Google tenga que seguir el mismo manual que utiliza para el coleccionista de fotografías. Esto implicaría respaldar la función a versiones anteriores de Android, brindar soporte a través de la biblioteca de AndroidX y, finalmente, hacer cumplir su uso a través de las políticas de Google Play. Si Google toma estas medidas, el selector de contactos podría convertirse en una importante ayuda para la privacidad de todos los usuarios de Android.
Gracias por ser parte de nuestra comunidad. Lea nuestra Política de comentarios antes de publicar.

