¿Cómo utilizar StorageStatsManager.queryStatsForPackage en Android O?

Antecedentes

Antes de Android O, para obtener el tamaño de una aplicación, tenía que tener un permiso especial y usar una API oculta.

El problema

Tal solución ya no funcionará, pero en cambio, Google proporciona una API oficial que es menos granular:queryStatsForPackage , que devuelveStorageStats objeto.

Sin embargo, no puedo encontrar ninguna información sobre cómo usarlo.

A diferencia de la API oculta, que solo requiere el nombre del paquete de la aplicación, esta también requiere "String volumeUuid" y "UserHandle user".

Las preguntas¿Cómo proporciono esos parámetros?¿Qué quieren decir? ¿Cada uno de los volumeUuid se refiere a un almacenamiento diferente (almacenamiento integrado y tarjeta SD real, por ejemplo), y UserHandle es para cada usuario?Si el número 2 es correcto, ¿realmente debería llamar a cada uno de ellos para cada valor posible, para obtener el almacenamiento total real que toma la aplicación? ¿Si es así, cómo?

Respuestas a la pregunta(3)

Su respuesta a la pregunta