Mientras revoca un permiso de manifiesto en tiempo de ejecución solicitado por una aplicación, se muestra la advertencia del sistema: "Si deniega este permiso, es posible que las funciones básicas de su dispositivo dejen de funcionar según lo previsto." se muestre por PackageInstaller si el permiso fue GRANTED_BY_DEFAULT
:
~$ pm dump packages | grep -E 'Package |GRANTED_BY_DEFAULT' | grep -B1 android.permission
Todos los permisos solicitados en tiempo de ejecución se otorgan de forma predeterminada durante grantDefaultPermissions en el primer arranque o en la creación de un nuevo usuario/perfil en tres casos generales como se menciona en la documentación oficial, de modo que "el dispositivo sea utilizable directamente al sacarlo de la caja":
-
Si la aplicación es una aplicación de sistema privilegiada (es decir, instalada en /system/priv-app/
) por ejemplo Configuración y Servicios de Google Play. O si la aplicación es un componente del sistema (es decir, el UID es menor que 10000) por ejemplo Kit de herramientas SIM y Radio FM. Algunas aplicaciones pueden cumplir ambos criterios como por ejemplo Shell (com.android.shell
, UID: 2000
).
-
Si la aplicación proporciona alguna funcionalidad básica del SO:
Las aplicaciones deben solicitar a los usuarios que otorguen permisos de aplicación en tiempo de ejecución. Pueden otorgarse algunas excepciones a las aplicaciones y controladores predeterminados que proporcionan funcionalidades básicas del dispositivo fundamentales para el funcionamiento esperado del dispositivo.
Algunas de estas aplicaciones necesariamente deben ser aplicaciones privilegiadas o componentes del sistema como por ejemplo Proveedor de ubicación. Otras también pueden ser aplicaciones que no son del sistema (incluso instaladas en /system/app
) como por ejemplo Mensajería y Calendario por defecto, o aplicaciones de terceros (instaladas en /data/app
) como por ejemplo aplicaciones de SMS y marcación instaladas por el usuario.
-
Si el desarrollador de ROM crea explícitamente una excepción para alguna(s) aplicación(es).
Sin embargo, los permisos de tiempo de ejecución FIXED_SISTEMA
(establecidos para aplicaciones privilegiadas/sistema) no pueden ser revocados.
¿Qué intenta advertirme Google cuando dice que "las funciones básicas de su dispositivo pueden dejar de funcionar según lo previsto"?
Revocar el permiso de ubicación no permitiría que la aplicación (y sus aplicaciones dependientes, si las hay) accedan a la ubicación. No debería ocurrir nada más.
¿O simplemente intentan asustarme para que no cambie el permiso (para que puedan seguir vigilándome)?
Los Servicios de Google Play son privilegiados, no funcionarán si intenta detenerlos por completo manteniendo un ojo sobre usted.
Parece que "Permitir solo mientras se usa la aplicación" no debería ser muy impactante, ¿verdad?
"Permitir solo mientras se usa la aplicación" no es un permiso de manifiesto normal. Es appops
que le permite establecer operaciones de ubicación en primer plano para que la aplicación de Google no use la ubicación en segundo plano. También puede hacerlo desde la línea de comandos:
~$ appops set com.google.android.googlequicksearchbox COARSE_LOCATION foreground
~$ appops set com.google.android.googlequicksearchbox FINE_LOCATION foreground
RELACIONADO:
0 votos
¿Quizás por "funciones básicas" Google se refiere al asistente de Google?