Android Q traerá una renovación a la gestión de permisos y mejoras para proteger la privacidad del usuario. Esto es lo que Google ha cambiado desde Android Pie.
La penetración de mercado de Android 9 Pie es apenas una señal en el radar en comparación con versiones anteriores de Android, pero eso no retrasará los planes de Google de lanzar la próxima versión de Android, Android Q. Esperamos que Google presente la primera versión preliminar para desarrolladores de Android Q el próximo mes, pero antes que la de Google. anuncio de que hemos logrado tener en nuestras manos una versión de Android Q que probablemente esté bastante avanzada en el desarrollo de Google ciclo. En nuestro primer artículo que detalla los cambios que se producirán en la próxima versión de postres, hablamos sobre la nueva interfaz de control de permisos. Sin embargo, solo mostré algunas capturas de pantalla del sistema de administración de permisos renovado, por lo que quería continuar con más detalles. También hice más pruebas y recopilé más información sobre los nuevos permisos en Android Q, la función "roles", el nuevo instalador de paquetes y más. Pero primero, aquí hay un breve resumen de la gestión de permisos en Android.
Una breve historia de la gestión de permisos en Android
Android 4.3 jalea introdujo por primera vez gestión granular de permisos a través de la función "App Ops", aunque estaba oculta para el usuario. Android 4.4 KitKat incluso introdujo nuevos permisos controlables por el usuario en la interfaz App Ops, aunque necesitaba acceso root y un módulo Xposed para acceder a él. Finalmente, Android 6.0 Marshmallow introdujo el sistema de permisos que todos conocemos, aunque con limitaciones sobre los permisos que se pueden restringir. La función App Ops más antigua todavía existe en Android, aunque solo se puede acceder a ella a través de la línea de comando (cmd appops
). Ciertas aplicaciones en Google Play Store aproveche la implementación de la línea de comandos de App Ops para proporcionar una interfaz de administración de permisos más potente. Google no expone App Ops a los usuarios, ya que es posible que el usuario no sepa lo que está haciendo, lo que hace que le niegue a una aplicación algunos permisos que realmente podría necesitar para funcionar correctamente. Desafortunadamente, desde la introducción de la gestión de permisos en Android Marshmallow, no hemos visto ningún cambio importante en la función, es decir, hasta Android Q.
Operaciones de aplicaciones en Android 4.3 Jelly Bean
Android 6.0 Marshmallow también experimentó un cambio importante en la forma en que se otorgan ciertos permisos a las aplicaciones. Antes de Android 6.0, todos permisos definidos en un archivo de manifiesto de la aplicación se otorgan al momento de la instalación. Con Android 6.0, Google introdujo la gestión de permisos en tiempo de ejecución para ciertos permisos que consideraron peligrosos, como acceso al almacenamiento externo, acceso a la cámara, acceso a la ubicación y más. Los permisos de tiempo de ejecución solo se otorgan después de la instalación de una aplicación, y el usuario debe dar su consentimiento explícito para otorgar estos permisos tocando "permitir" en un cuadro de diálogo de permiso cuando se le solicite. Hasta Google reprimido en aplicaciones orientadas a un nivel de API anterior, los desarrolladores de aplicaciones podrían omitir los permisos de tiempo de ejecución apuntando al nivel de API 22 o inferior (Android Lollipop o anterior). Android Q advertirá a los usuarios intentar ejecutar una aplicación dirigida al nivel API 22 o inferior, lo que incentiva aún más a los desarrolladores a actualizar sus aplicaciones para evitar ser avergonzados por el sistema operativo. Por lo tanto, para cuando Android Q llegue a los dispositivos, casi todas las aplicaciones en el dispositivo de un usuario deberían estar sujetas a los controles de administración de permisos introducidos en Android 6.0+. Con eso en mente, Google está limpiando los controles de permisos en Android Q para que a los usuarios les resulte más fácil administrar el nivel de acceso que tienen las aplicaciones en su dispositivo.
Gestión de permisos más sencilla en Android Q frente a Android Pie
Desde Android 6.0 Marshmallow hasta Android 9 Pie, la administración de permisos de tiempo de ejecución existente solo permite al usuario permitir o denegar ciertos permisos a una aplicación. Observamos en nuestro artículo anterior que Android Q permitirá al usuario restringir un permiso sólo mientras la aplicación esté en uso. Esta característica entusiasmó a mucha gente, pero tenemos que aclarar que solo se puede restringir el permiso de ubicación cuando una aplicación está en uso. Eso significa que no puedes restringir el micrófono o la cámara sólo mientras la aplicación está en uso. Sin embargo, esto no debería decepcionarte, ya que Android Pie ya introducido algunas restricciones sobre el uso en segundo plano del cámara y micrófono al requerir que las aplicaciones estén en primer plano o utilicen un servicio en primer plano. Además, Android Q amplía eso al informar al usuario cada vez que una aplicación utiliza el micrófono, la cámara o accede a la ubicación del dispositivo. Esto se muestra al usuario como iconos de la barra de estado en la esquina superior derecha. Cuando se expande la barra de estado, el texto que se muestra junto a los íconos le indica al usuario qué aplicación está usando actualmente uno de estos 3 permisos confidenciales. Finalmente, si el usuario toca este ícono, se muestra un cuadro de diálogo que le indica qué aplicaciones están usando qué permisos. Nuevamente, esto solo se aplica a los permisos de la cámara, la ubicación y el micrófono.
Google parece estar alentando a los usuarios a restringir el acceso a la ubicación solo cuando una aplicación está en uso, como lo han preparado en un recordatorio en Android Q cuando el usuario ha concedido a una aplicación acceder siempre a su ubicación. Este recordatorio se presenta en forma de notificación que le informa al usuario que una aplicación ha estado usando su ubicación y que siempre tiene la capacidad de hacerlo. Al tocar la notificación, accederá a la página de permisos de ubicación para esa aplicación, lo que le permitirá al usuario elegir restringir el permiso de ubicación solo mientras esa aplicación esté en uso. Felicitaciones por eso, Google.
Por último, en la versión que tengo, la interfaz de usuario para los permisos especiales de acceso a las aplicaciones (como optimización de la batería, administración del dispositivo, acceso a No molestar, acceso a notificaciones, etc.) no ha cambiado. Sin embargo, se agregó a la lista un nuevo permiso especial de "Acceso a SMS de aplicaciones financieras", aunque no estoy seguro de cómo. difiere del permiso "Acceso a SMS Premium", que es lo que las aplicaciones necesitan para enviar mensajes de texto a premium números. Es posible que este nuevo permiso esté destinado a aplicaciones bancarias que utilizan SMS para determinadas transacciones, de acuerdo con Las nuevas políticas de Google Play restringir los permisos de SMS y registro de llamadas.
Administrar permisos en Android Q
Aquí hay una galería de capturas de pantalla que muestra los nuevos cambios en la interfaz de administración de permisos en Android Q. He incluido descripciones detalladas de cada página en los títulos de cada imagen.
Conceder permisos en Android Q
Aquí hay capturas de pantalla que muestran la administración de permisos de tiempo de ejecución en Android Q. Ya hemos hablado sobre lo que muestran las dos primeras capturas de pantalla, pero la tercera captura de pantalla es una característica de Android Q completamente nueva que no he discutido antes. La capacidad de Android para permitir al usuario controlar los permisos antes de ejecutar una aplicación heredada (definida como una aplicación orientada al nivel API <23) es algo que ya es posible en Android Pie con la configuración correcta, pero Google finalmente activó el interruptor y lo habilitó en Android Q.
Monitoreo en tiempo real de permisos en Android Q
Aquí hay capturas de pantalla que muestran cómo Android Q alertará al usuario cuando una aplicación acceda a uno de varios permisos sensibles/peligrosos, incluidos la cámara, la ubicación y el micrófono.
Nuevas restricciones de acceso al portapapeles y a archivos externos
Restricciones de acceso al portapapeles en segundo plano
En mi artículo anterior, noté un nuevo permiso en el marco de Android Q que sugería que las aplicaciones que no son del sistema y se ejecutan en segundo plano ya no podrán leer el portapapeles del sistema. Después de que Google Play Store funcionara, decidí instalar algunas aplicaciones populares de administración del portapapeles como Administrador del portapapeles, Clíper, y Pila de clips para comprobar si tenía razón. Para bien o para mal, Google está bloqueando el acceso al portapapeles en segundo plano en Android Q, como Ninguna de las aplicaciones que probé pudo detectar el texto que copié en el portapapeles.. Incluso confirmé que estas aplicaciones tienen el "READ_CLIPBOARD
"permiso que solicitaron mediante el siguiente comando App Ops:
adb shell cmd appops query-op --user 0 READ_CLIPBOARD allow
Afortunadamente, copiar y pegar texto hacia y desde cualquier aplicación todavía funciona, pero las aplicaciones que se ejecutan en segundo plano ya no pueden leer el texto que se copia. Es demasiado pronto para decir si este cambio eliminará las aplicaciones del administrador del portapapeles porque existe la posibilidad de que Google introduzca una nueva API para convertir una aplicación en un controlador predeterminado del "administrador del portapapeles". Sin embargo, no veo ninguna evidencia de que eso suceda en Android Q.
Acceso a archivos de almacenamiento externo
Cubrí prácticamente todo sobre este cambio en mi artículo anterior, pero aquí hay un resumen de lo que Google está cambiando en Android Q con respecto al acceso a archivos de almacenamiento externo. Primero, debemos definir qué significa "almacenamiento externo". En Android, el almacenamiento externo es la ubicación donde se almacenan todos los archivos y carpetas que puedes ver cuando conectas tu teléfono a una computadora, como Descargas, DCIM, Música, Películas e Imágenes. Se supone que las aplicaciones solo almacenan archivos en un almacenamiento externo a los que otras aplicaciones podrían querer acceder, como música, imágenes, vídeos, documentos, etc.
Para que una aplicación acceda a archivos en el almacenamiento externo, la aplicación debe mantener presionada la tecla READ_EXTERNAL_STORAGE y/o ESCRIBIR_ALMACENAMIENTO_EXTERNO permisos, que son permisos de tiempo de ejecución. Una vez que una aplicación tiene estos permisos, no hay restricciones sobre qué archivos en el almacenamiento externo puede leer o modificar. En Android Q, Google está dividiendo estos dos permisos en permisos más granulares, lo que permite al usuario restringir una aplicación para que sólo pueda leer o escribir ciertos tipos de archivos. Específicamente, los nuevos permisos en Android Q permitirán al usuario restringir una aplicación para que solo pueda:
- Lea las ubicaciones de sus medios.
- Leer o escribir archivos de música.
- Leer o escribir fotos/archivos de imágenes.
- Leer o escribir archivos de vídeo.
Una aplicación a la que ya se le ha otorgado el permiso READ_EXTERNAL_STORAGE antes de que el usuario actualizara a A Android Q se le otorgarán automáticamente los permisos de "lectura" enumerados anteriormente, pero no los de "escritura". permisos.
Acceso a la ubicación en segundo plano
El año pasado, un informe de Los New York Times arrojó luz sobre la omnipresencia de las aplicaciones que rastrean las ubicaciones de los usuarios para venderlas a los anunciantes. El seguimiento inadecuado de la ubicación es un problema del que Google es muy consciente, ya que ha sido acusados de ello ellos mismos. Se presenta Android 8.0 Oreo restricciones sobre la frecuencia con la que las aplicaciones que se ejecutan en segundo plano pueden acceder a la ubicación de un dispositivo. Las solicitudes de ubicación de aplicaciones que se ejecutan en segundo plano están muy limitadas, por lo que si una aplicación quiere rastrear su ubicación con cualquier grado de precisión, debe revelar que lo está haciendo con una actividad visible o un servicio en primer plano y un persistente notificación.
Sin embargo, cada vez que Google cambia la forma en que funcionan las API principales de Android, los desarrolladores cuyas aplicaciones utilizaron legítimamente esas API según lo previsto se ven afectados. Hemos visto esto recientemente con las restricciones de Google Play sobre los permisos de SMS y Registro de llamadas, lo que ha resultado en muchos aplicaciones populares que pierden funcionalidad clave. La misma situación ocurrió cuando Google limitó el acceso a la ubicación en segundo plano, y los usuarios de un popular aplicación de golfquejumbroso que ya no podían usarlo para rastrear sus disparos. Afortunadamente, Android Q está agregando un nuevo "ACCESS_BACKGROUND_LOCATION
"permiso que, cuando se concede, siempre permite que una aplicación tenga acceso a la ubicación de un dispositivo, incluso cuando la aplicación se ejecuta en segundo plano. Por lo tanto, la nueva versión de Android no sólo continuará protegiendo a los usuarios del acceso no deseado a la ubicación en segundo plano, sino que también proporcionará un mecanismo para que los usuarios permitan aplicaciones. de su elección para monitorear su ubicación en segundo plano.
La adición de "roles" en Android Q
En casa de daniel vídeo práctico para nuestro Canal de Youtube de XDATV, es posible que lo haya escuchado mencionar una nueva sección "Funciones" en la configuración de aplicaciones predeterminadas (Configuración --> Aplicaciones y notificaciones --> Aplicaciones predeterminadas). Las únicas “funciones” que se mostraron en el video fueron Navegador, Teléfono y Mensajería, lo que parecía redundante ya que ya existen categorías de aplicaciones predeterminadas para navegador, aplicaciones de teléfono y aplicaciones de SMS. Después de pasar más tiempo con Android Q en el Pixel 3 XL, descubrí un servicio de "rol" del que podía deshacerme del estado a través del botón "dumpsys role
' dominio. Después de hacerlo, encontré varios "roles" que no coinciden con ninguna de las categorías de aplicaciones predeterminadas que ya existen: CAR_MODE_DIALER_APP
, CALL_COMPANION_APP
, CALL_SCREENING_APP
, y PROXY_CALLING_APP
. Después de instalar algunas de las aplicaciones propias de Google, logré que la "aplicación de teléfono en modo automóvil" y la "aplicación de detección de llamadas" aparecieran en las páginas de "roles", como se muestra a continuación.
Descompilé el nuevo APK del sistema responsable de la interfaz de administración de permisos de Android Q, una nueva aplicación llamada "PermissionController" y encontré un archivo roles.xml que da pistas sobre lo que harán los "roles" en el próximo Android. versión. No voy a pegar todo el XML aquí, pero compartiré un fragmento de uno de los roles que debería ayudarlo a comprender qué roles funcionarán.
Digamos que selecciono una aplicación para que tenga la función de "galería". Para que una aplicación se muestre como una aplicación de galería válida, debe tener un componente requerido: una actividad que se inicie con los filtros de intención de acción y categoría. android.intent.action.MAIN
y android.intent.category.APP_GALLERY
respectivamente. Si eso es cierto y el usuario le asigna a la aplicación la función de "galería", entonces a la aplicación se le otorgarán permisos automáticamente. en el conjunto de permisos "media_visual", que creo que se refiere al nuevo permiso de audio, video e imágenes que describí más temprano. De hecho, el nuevo WRITE_MEDIA_VIDEO
y WRITE_MEDIA_IMAGES
Los permisos están permitidos explícitamente para una aplicación con el rol de "galería". Por último, la aplicación se convierte en el controlador preferido cuando otra aplicación envía una intención de llamar a una aplicación de galería.
Básicamente, a cualquier aplicación a la que se le haya otorgado un determinado "rol" y que tenga declarados los componentes y permisos requeridos se le otorgan automáticamente otros conjuntos de permisos relevantes para sus casos de uso. En el ejemplo que publiqué anteriormente, una aplicación con el "rol" de galería recibe automáticamente permiso para acceder a archivos relacionados con los conjuntos de permisos que necesita para funcionar. Presumiblemente, esto significa que una aplicación a la que el usuario le ha otorgado la función de galería no necesitaría pedirle permiso para leer o escribir archivos de imágenes o videos.
A juzgar por los nombres, el CAR_MODE_DIALER_APP
, CALL_COMPANION_APP
, CALL_SCREENING_APP
, y PROXY_CALLING_APP
Los roles permitirán al usuario elegir una aplicación de marcador diferente cuando esté conduciendo, una aplicación para realizar varias funciones mientras el usuario está en un llamada telefónica, una aplicación para filtrar las llamadas telefónicas antes de que el usuario conteste y una aplicación para facilitar las llamadas con un número intermediario, respectivamente. No creemos que la función de filtrado de llamadas esté directamente relacionada con la función de Google Pixel. Pantalla de llamada característica, a juzgar por lo que hemos visto en AOSP. Más bien, está destinado a aplicaciones que quieren actuar como un portero para llamadas no deseadas, como un filtro de llamadas.
Instalador de paquetes renovado
El instalador de paquetes predeterminado de Android (la aplicación que maneja la instalación de nuevas aplicaciones) se está rediseñando. En lugar de mostrar una actividad en pantalla completa cada vez que desea instalar una nueva aplicación, el instalador del paquete actualizado en Android Q muestra un pequeño cuadro de diálogo en el medio de la pantalla. Esta interfaz de usuario de instalación de mini paquetes se ha utilizado para tabletas Android durante mucho tiempo, pero esta es la primera vez que la vemos en teléfonos inteligentes Android.
En Android Q, al ejecutar cualquier aplicación orientada al nivel API 22 o inferior (Android 5.0 Lollipop), se mostrará una advertencia de que la aplicación está desactualizada. Sospecho que esa advertencia es suficiente para disuadir a la mayoría de los usuarios de molestarse con aplicaciones dirigidas a versiones anteriores a Android Marshmallow. Si a eso le sumamos el hecho de que Google exigirá que todas las aplicaciones enviadas a Play Store después de agosto de 2019 se orienten Nivel de API 28, puede ver cómo los desarrolladores con aplicaciones obsoletas se ven obligados a reelaborar sus aplicaciones para apuntar a una API más nueva. nivel. ¿Cómo se relaciona todo eso con el nuevo instalador del paquete? Bueno, dado que Android 5.0 Lollipop es el último nivel de API sin solicitudes obligatorias de permisos de tiempo de ejecución para ciertos permisos confidenciales, la eventual muerte de las aplicaciones dirigidas a El nivel de API 22 e inferior significa que Google ya no necesita hacer espacio en el mensaje del instalador del paquete para mostrar una larga lista de permisos que se otorgan a una aplicación. instalación.
Sin embargo, probablemente no verá este instalador de paquetes simplificado en todos los dispositivos Android Q. Huawei, por ejemplo, personaliza el instalador del paquete con un escáner de virus y malware incorporado (algo que odio), así como un administrador de permisos incorporado (algo que me encanta). EMUI 10, por lo tanto, probablemente se apegará al instalador de paquetes de pantalla completa que todos estamos solía hacerlo.
Nuevas opciones de bloqueo de llamadas
Una característica Pensábamos que vendría en Android Pie. en realidad llegó a Android Q, mostrándole lo cerca que estamos de la finalización de las funciones principales de Android Q. La función que encontramos en aquel entonces le permitiría bloquear llamadas de números de teléfono públicos desconocidos, privados o cualquier número que no esté en su lista de contactos. Aquí hay una captura de pantalla de la función de la aplicación de marcador AOSP. La aplicación Google Phone aún no se ha actualizado con esta función, pero suponemos que la recibirá pronto.
Todas las aplicaciones instaladas ahora muestran íconos de inicio (¿posible error?)
La mayoría de las aplicaciones en su dispositivo tienen íconos de inicio porque están destinados a ser puertas de entrada a su interfaz de usuario. Sin embargo, no todas las aplicaciones tienen una interfaz de usuario, en cuyo caso un desarrollador puede optar por no declarar una actividad con los filtros de intención de acción y categoría. android.intent.action.MAIN
y android.intent.category.LAUNCHER
respectivamente. No estoy seguro de si esto es solo un error, pero en Android Q, todas las aplicaciones, incluso aquellas que intentan ocultar los íconos de su iniciador de la manera descrita anteriormente, mostrarán íconos en el iniciador. Probé esto en AOSP Launcher, Pixel Launcher y Nova Launcher en un Google Pixel 3 XL ejecutando la versión filtrada de Android Q y la comparó con un Google Pixel 2 XL con el último Android 9 Pie construir. Cuando tocas uno de estos íconos, simplemente te lleva a la página de información de esa aplicación en Configuración.
Si esto no es solo un error, entonces sería una forma para que los usuarios sepan rápidamente si se ha instalado una nueva aplicación, incluso si esa aplicación está tratando de ocultarse del usuario.
Mosaico de configuración rápida "Sensores desactivados"
Hay un nuevo mosaico de Configuración rápida llamado "sensores desactivados" que no solo activa el modo avión sino también desactiva todas las lecturas del sensor en el dispositivo. Lo confirmé instalando DevCheck del desarrollador reconocido por XDA flar2 y comparando la salida de las lecturas del sensor con y sin el interruptor de "sensores apagados". Cuando se activa el mosaico "sensores apagados", el dispositivo deja de informar desde todos los sensores del dispositivo. No estoy seguro de si este mosaico de Configuración rápida es solo para que los ingenieros de Google lo depuren, pero sería una Característica útil para cualquier persona realmente preocupada por los datos que recopila su dispositivo sobre su ambiente.
Precio: Gratis.
4.6.
Más sobre Android Q
Eso es todo lo relacionado con la privacidad y los permisos que he encontrado hasta ahora en Android Q. Estén atentos a mi artículo final que cubre todos los ajustes más pequeños de UI y UX. Sigue nuestro Etiqueta Q de Android para más artículos como este. Aquí hay un enlace a algunos de los artículos a los que me referí con más frecuencia, así como a algunos otros que creo que deberías leer:
- Exclusivo: la versión inicial de Android Q tiene un tema oscuro para todo el sistema, renovación de permisos, sugerencias para un "modo de escritorio" y más
- Exclusivo: Google está trabajando en una función similar a Face ID para Android Q
- Android Q puede bloquear lecturas en segundo plano del portapapeles, proteger mejor sus archivos multimedia, admitir la degradación de aplicaciones y más
- Android Q puede venir con nuevas superposiciones de fuente, forma de ícono y color de acento
- "Android dinámico" puede permitir a los desarrolladores probar un AOSP GSI en cualquier dispositivo Android Q
- Modo oscuro de Android Q: cómo el próximo sistema operativo Android de Google abordará temas deslumbrantemente claros