Privacidad de Android Q: cambios a los datos y los identificadores

En este documento, se describen varias restricciones relacionadas con el acceso a los datos y los identificadores de sistema. Estos cambios ayudan a proteger la privacidad de los usuarios.

Algunos de estos cambios afectan a todas las apps que se ejecutan en Android Q, mientras que otros solo afectan a aquellas apps orientadas a ese sistema operativo.

Cambios que afectan a todas las apps

Los siguientes cambios afectan a todas las apps que se ejecutan en Android Q, aunque se orienten a Android 9 (nivel de API 28) o versiones anteriores.

Afinidad de contactos

A partir de Android Q, la plataforma ya no hará el seguimiento de la información relacionada con la afinidad de contactos. Como consecuencia, si tu app realiza una búsqueda en los contactos del usuario, los resultados ya no se ordenarán por frecuencia de interacción.

La Guía del proveedor de contactos incluye un aviso que describe los campos y métodos específicos que se vuelven obsoletos en todos los dispositivos a partir de Android Q.

Direcciones MAC aleatorias

Los dispositivos que se ejecutan en Android Q transmiten direcciones MAC aleatorias de forma predeterminada. Si tu app maneja un caso práctico empresarial, la plataforma ofrece nuevas API:

  • Obtén direcciones MAC aleatorias: Las apps de propietarios y perfiles de dispositivos pueden recuperar las direcciones MAC aleatorias asignadas a una red específica llamando a getRandomizedMacAddress().
  • Obtén direcciones MAC de fábrica reales: Las apps de propietarios de dispositivos pueden recuperar la dirección MAC real del hardware del dispositivo llamando a getWifiMacAddress(). Este método es útil para realizar un seguimiento de varios dispositivos.

Acceso al sistema de archivos /proc/net

Android Q quita el acceso a /proc/net, que incluye información sobre el estado de red de un dispositivo. Aquellas apps que necesitan acceder a este tipo de información, como las VPN, deben hacer referencia a las clases NetworkStatsManager y ConnectivityManager.

Identificadores de dispositivo que no se pueden restablecer

A partir de Android Q, las apps tienen que tener el permiso de firma READ_PRIVILEGED_PHONE_STATE para poder acceder a los identificadores de dispositivo que no se pueden restablecer, como el IMEI y el número de serie. Muchos casos prácticos no necesitan identificadores de dispositivo que no se pueden restablecer. Si tu app no tiene el permiso e intentas solicitar información sobre los identificadores, la respuesta de la plataforma variará en función de la versión del SDK de destino:

  • Si tu app se orienta a Android Q, ocurrirá una SecurityException.
  • Si tu app se orienta a Android 9 (nivel de API 28) o versiones anteriores, el método mostrará un valor null o datos del marcador de posición si la app tiene el permiso READ_PHONE_STATE. De lo contrario, ocurrirá una SecurityException.

Si tu app usa identificadores de dispositivos que no se pueden restablecer para el seguimiento de anuncios o el análisis de usuarios, crea un ID de publicidad de Android para esos casos prácticos específicos. Si quieres obtener más información, consulta las recomendaciones para identificadores únicos.

Acceso a los datos del portapapeles

A menos que tu app sea el Editor de método de entrada (IME) o esté seleccionada, no podrá acceder a los datos del portapapeles.

Cambios que afectan a las apps orientadas a Android Q

Los siguientes cambios afectan únicamente a las apps que se orientan a Android Q.

El acceso al número de serie USB requiere permiso del usuario

Si tu app se orienta a Android Q, puede leer el número de serie si el usuario le otorgó permiso para acceder al accesorio o dispositivo USB.