Il modulo ModuleMetadata contiene i metadati relativi all'elenco dei moduli su un determinato dispositivo. I metadati vengono analizzati e memorizzati nella cache non appena viene avviato il server di sistema.
Modifiche in Android 10
L'APK ModuleMetadata contiene ModuleInfoProvider
, che implementa i metodi getModuleInfo
e getInstalledModules
dell'API PackageManager. Questi metodi sono supportati
da metadati XML analizzati da un pacchetto del provider di metadati del modulo. Il nome del pacchetto per il pacchetto di metadati del modulo è memorizzato nel valore di configurazione config_defaultModuleMetadataProvider
.
Il provider dei metadati del modulo deve contenere una voce <metadata>
per il relativo tag <application>
. La voce dei metadati deve contenere una singola chiave (android.content.pm.MODULE_METADATA
) il cui valore è un riferimento a una risorsa XML contenente i metadati relativi all'elenco dei moduli su un determinato dispositivo.
Formato del pacchetto
Il modulo ModuleMetadata (com.android.modulemetadata
) viene fornito come file APK.
Elementi metadati
Il documento XML deve essere costituito da un singolo elemento <module-metadata>
di primo livello con uno o più elementi secondari. Ogni elemento secondario è un elemento <module>
che contiene i seguenti attributi:
name
è un riferimento alla risorsa di un nome del pacchetto visibile all'utente. Corrisponde aModuleInfo#getName
.packageName
è il nome del pacchetto del modulo. Corrisponde aModuleInfo#getPackageName
.isHidden
indica se il modulo è nascosto. Corrisponde aModuleInfo#isHidden</code>.
Esempio:
<module-metadata>
<module name="@string/resource" packageName="package_name" isHidden="false|true">
<module .... >
</module-metadata>