Cómo probar el comportamiento de visibilidad de paquetes

Si tu app depende de interacciones con otras apps para completar sus casos de uso, es útil probar cómo la afectan los cambios en la visibilidad de paquetes.

En esta guía, también se brindan algunas sugerencias sobre cómo probar los cambios de comportamiento. La guía también te ayuda a configurar mensajes de registro para determinar, con un nivel más detallado, cómo tu app podría verse afectada.

Cómo probar los cambios de comportamiento

Para probar si este cambio de comportamiento entra en vigor en tu app, completa los siguientes pasos:

  1. Instala Android Studio 3.6.1 o una versión posterior.
  2. Instala la versión más reciente de Gradle que admita Android Studio.
  3. Establece el elemento targetSdkVersion de tu app en 30 o un valor superior.
  4. No incluyas el elemento <queries> en el archivo de manifiesto de tu app.
  5. Llama al método getInstalledApplications() o getInstalledPackages(). Ambos deben mostrar una lista filtrada.
  6. Descubre qué funciones de tu app no funcionan.
  7. Introduce entradas <queries> apropiadas para solucionar los problemas de estas funciones.

Cómo configurar mensajes de registro para filtrar paquetes

A fin de descubrir más detalles sobre la manera en la que la visibilidad predeterminada de las apps afecta la tuya, puedes habilitar los mensajes de registro para filtrar paquetes. Si estás desarrollando una app de prueba o depurable en Android Studio, el registro del sistema te brinda esta capacidad. De lo contrario, puedes ejecutar el siguiente comando en una ventana de terminal para habilitarla de forma manual:

adb shell pm log-visibility --enable PACKAGE_NAME

Luego, cada vez que se filtran paquetes de los valores que se muestran de un objeto PackageManager, aparece un mensaje similar al siguiente en Logcat:

I/AppsFilter: interaction: PackageSetting{7654321 \
  com.example.myapp/12345} -> PackageSetting{...} BLOCKED