Moduł ModuleMetadata zawiera metadane dotyczące listy modułów na danym urządzeniu. Metadane są analizowane i buforowane natychmiast po uruchomieniu serwera systemowego.
Zmiany w Androidzie 10
Pakiet ModuleMetadata APK zawiera ModuleInfoProvider
, który implementuje metody getModuleInfo
i getInstalledModules
z interfejsu API PackageManager. Metody te są obsługiwane przez metadane XML analizowane z pakietu dostawcy metadanych modułu. Nazwa pakietu metadanych modułu jest przechowywana w wartości konfiguracyjnej config_defaultModuleMetadataProvider
.
Dostawca metadanych modułu musi zawierać wpis <metadata>
dla swojego znacznika <application>
. Wpis metadanych musi zawierać pojedynczy klucz ( android.content.pm.MODULE_METADATA
), którego wartość stanowi odwołanie do zasobu XML zawierającego metadane dotyczące listy modułów na danym urządzeniu.
Format pakietu
Moduł ModuleMetadata ( com.android.modulemetadata
) jest dostarczany jako plik APK.
Elementy metadanych
Dokument XML musi składać się z pojedynczego elementu <module-metadata>
najwyższego poziomu z jednym lub większą liczbą elementów podrzędnych. Każde dziecko jest elementem <module>
, który zawiera następujące atrybuty:
-
name
jest odniesieniem do zasobu widocznej dla użytkownika nazwy pakietu. Mapuje doModuleInfo#getName
. -
packageName
to nazwa pakietu modułu. Mapuje doModuleInfo#getPackageName
. -
isHidden
wskazuje, czy moduł jest ukryty. Mapuje doModuleInfo#isHidden</code>.
Przykład:
<module-metadata>
<module name="@string/resource" packageName="package_name" isHidden="false|true">
<module .... >
</module-metadata>