Moduł ModuleMetadata zawiera metadane dotyczące listy modułów danego urządzenia. Metadane są analizowane i zapisywane w pamięci podręcznej, gdy tylko serwer systemu zaczyna się.
Zmiany w Androidzie 10
Plik APK ModuleMetadata zawiera element ModuleInfoProvider
, który
implementuje getModuleInfo
i getInstalledModules
z interfejsu API PackageManager. Te metody są obsługiwane przez metadane XML zanalizowane z pakietu dostawcy metadanych modułu. Przesyłka
jest przechowywana w pliku
Wartość konfiguracyjna config_defaultModuleMetadataProvider
.
Dostawca metadanych modułu musi zawierać wpis <metadata>
dla tagu <application>
. Wpis metadanych musi
zawiera pojedynczy klucz (android.content.pm.MODULE_METADATA
), którego
Wartość jest odwołaniem do zasobu XML, który zawiera 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 zawierać jeden element <module-metadata>
najwyższego poziomu
element z co najmniej jednym elementem podrzędnym. Każdy element podrzędny to element <module>
zawierający te atrybuty:
name
to odwołanie do zasobu, który zawiera widoczną dla użytkownika nazwę pakietu. Mapy na miejsce:ModuleInfo#getName
.packageName
to nazwa pakietu modułu. Mapy doModuleInfo#getPackageName
.isHidden
wskazuje, czy moduł jest ukryty. Mapuje naModuleInfo#isHidden</code>.
Przykład:
<module-metadata>
<module name="@string/resource" packageName="package_name" isHidden="false|true">
<module .... >
</module-metadata>