Con Android 11, cambia la forma en que las apps pueden consultar a otras apps que el usuario instaló en un dispositivo e interactuar con ellas. Mediante el elemento <queries>
, las apps pueden definir el conjunto de otros paquetes a los que pueden acceder. Este elemento incentiva el principio de privilegio mínimo indicándole al sistema qué otros paquetes debe mostrar para tu app y ayuda a que las tiendas de aplicaciones, como Google Play, evalúen la privacidad y la seguridad que la app proporciona a los usuarios.
Si tu app está orientada a Android 11 o versiones posteriores, es posible que debas agregar el elemento <queries>
a su archivo de manifiesto. Dentro del elemento <queries>
, puedes especificar los paquetes por nombre, por firma de intent o por autoridad del proveedor.
Obtén más información en la guía con los pasos para administrar la visibilidad del paquete de otras apps instaladas cuando la tuya se orienta a Android 11 o a una versión posterior.
Prueba el cambio
Para comprobar si se aplicó este cambio de comportamiento en tu app, sigue estos pasos:
- Instala Android Studio 3.6.1 o una versión posterior.
- Instala la versión más reciente de Gradle que admita Android Studio.
- Establece la
30
de tu app comotargetSdkVersion
. - No incluyas el elemento
<queries>
en el archivo de manifiesto de tu app. - Llama al método
getInstalledApplications()
ogetInstalledPackages()
. Ambos deben mostrar una lista filtrada. - Descubre qué funciones de tu app no funcionan.
- Introduce entradas
<queries>
apropiadas para solucionar los problemas de estas funciones.