Los permisos de ubicación de tres estados en Android 10 brindan a los usuarios más control sobre cómo las apps acceden a las ubicaciones de sus dispositivos.
En Android 9 y versiones anteriores, los usuarios tomaban decisiones persistentes cuando otorgaban acceso a la ubicación a las apps. Podían denegar o permitir, y la última opción les otorgaba acceso a las apps todo el tiempo (en primer y segundo plano). Los permisos de ubicación de tres estados en Android 10 les brindan a los usuarios tres opciones para permitir que una app acceda a la ubicación de un dispositivo. Se les solicita a los usuarios que otorguen o denieguen el nivel de permiso cuando una app lo solicite.
Por lo general, un usuario ve las tres opciones que se presentan en la Figura 1. Sin embargo, hay casos de uso en los que solo se requieren dos de estas opciones y, en esos casos, solo se muestran esas dos.

Figura 1: Pantalla de notificaciones de tres estados.
Estas son las tres opciones:
- Permitir todo el tiempo: La app conoce la ubicación del dispositivo incluso cuando no está en uso (se ejecuta en segundo plano). Esto equivale a permitir el permiso en Android 9 y versiones anteriores.
- Permitir solo con la app en uso: (solo en primer plano) La ubicación del dispositivo solo es visible para la app cuando se está ejecutando de forma activa.
- Denegar: La app nunca puede ver la ubicación del dispositivo. Esto es lo mismo que denegar el permiso en Android 9 y versiones anteriores.
Se les solicita a los usuarios que otorguen permiso de acceso a la ubicación cuando las apps lo soliciten.
Una vez que un usuario otorga el permiso de acceso Permitir solo con la app en uso, una app puede solicitar un aumento incremental del acceso a Permitir todo el tiempo. El usuario ve un diálogo de solicitud (que se muestra en la Figura 2). Si el usuario selecciona Keep while-in-use access, cuando la app acceda a la ubicación del dispositivo la próxima vez, el diálogo proporcionará la opción Keep and don't ask again.
El diálogo aparece en estas condiciones para las apps orientadas a Android 10:
- Después de otorgar el permiso durante al menos 24 horas
- Solo si la app recibe ubicaciones en segundo plano.
- Cuando la pantalla está encendida y el usuario no está usando otra app.

Figura 2: Permisos incrementales
Para obtener más información sobre cómo solicitar permisos, consulta Acceso de apps a la ubicación del dispositivo. Si quieres obtener más información sobre cómo tu app se orienta a Android 9 y versiones anteriores, consulta Continuación de la acción iniciada por el usuario.
Impacto
La función de permisos de ubicación de tres estados afecta a cualquier app que necesite acceso a la ubicación del dispositivo mientras se ejecuta en segundo plano y es obligatoria en Android 10.
Puedes cambiar tu código, pero no puedes alterar ni personalizar el comportamiento relacionado con los permisos en el framework.
Implementación
Los permisos de ubicación de tres estados se aplican a las apps en Android 10, independientemente del SDK de destino de una app.
Para obtener información sobre cómo implementar los casos de uso de tu app (en actualizaciones), consulta la sección Design for device upgrade scenarios en la documentación para desarrolladores.
Para ver cómo habilitar el acceso para diferentes casos de uso (como requerir acceso a la ubicación en segundo plano para apps como Google Maps o los Servicios de Google Play), consulta estos temas en la página Acceso de apps a la ubicación del dispositivo:
- Cómo solicitar la ubicación en segundo plano
- Verificaciones periódicas de la ubicación de un dispositivo
Acceso a la ubicación en la app
Los usuarios pueden cambiar los permisos de acceso de tu app a Denegar o Permitir solo mientras se usa la app si así lo desean. Para el permiso de acceso a la ubicación en la app y para todas las apps propias y de terceros, proporciona los niveles de control del usuario que se indican en la siguiente tabla.
Tipo de permiso que la app debe solicitar | Opciones que debe proporcionar el usuario |
---|---|
La app solo solicita permisos en primer plano | Permitir solo con la app en uso Rechazar |
La app siempre solicita permiso (en primer y segundo plano) | Permitir todo el tiempo Permitir solo con la app en uso Rechazar |
Todas las apps con solicitudes de acceso a la ubicación | Permitir solo con la app en uso |
Estos permisos se aplican a todas las solicitudes de ubicación. Las apps con permisos Permitir solo con la app en uso no pueden realizar análisis de Wi-Fi o celulares en segundo plano.
En Android 11 o versiones anteriores, las apps con permisos Permitir solo mientras se usa la app no pueden realizar análisis de Bluetooth en segundo plano. A partir de Android 12, las apps con permisos Permitir solo con la app en uso pueden obtener resultados de análisis de Bluetooth si establecen el valor del atributo android:usesPermissionFlags
en neverForLocation
. Para obtener más información, consulta La app no obtiene la ubicación física.
Actualizaciones del SO
Cuando se actualiza el SO a Android 10, los permisos de ubicación de la app se traducen según lo siguiente:
- Activado se convierte en Permitir solo durante el uso.
- Desactivado permanecerá desactivado (Rechazar).
- El acceso a la ubicación otorgado previamente se convierte en el permiso previo Permitir solo con la app en uso.