ModuleMetadata モジュールには、特定のデバイス上のモジュールのリストに関するメタデータが含まれています。システム サーバーが起動するとすぐに、メタデータが解析され、キャッシュされます。
Android 10 の変更点
ModuleMetadata APK には、PackageManager の API からgetModuleInfo
およびgetInstalledModules
メソッドを実装するModuleInfoProvider
が含まれています。これらのメソッドは、モジュール メタデータ プロバイダー パッケージから解析された XML メタデータによって支えられています。モジュール メタデータ パッケージのパッケージ名は、 config_defaultModuleMetadataProvider
値に格納されます。
モジュール メタデータ プロバイダーには、 <metadata>
が含まれている必要があります。 <application>
のエントリ鬼ごっこ。メタデータ エントリには、単一のキー ( android.content.pm.MODULE_METADATA
) が含まれている必要があります。その値は、特定のデバイスのモジュールのリストに関するメタデータを含む XML リソースへの参照です。
パッケージ形式
ModuleMetadata モジュール ( com.android.modulemetadata
) は APK ファイルとして提供されます。
メタデータ要素
XML ドキュメントは、単一の最上位の<module-metadata>
で構成されている必要があります。 1 つ以上の子を持つ要素。各子は<module>
次の属性を含む要素:
-
name
は、ユーザーに表示されるパッケージ名へのリソース参照です。ModuleInfo#getName
にマップします。 -
packageName
は、モジュールのパッケージ名です。ModuleInfo#getPackageName
にマップします。 -
isHidden
は、モジュールが非表示かどうかを示します。ModuleInfo#isHidden</code>.
例:
<module-metadata
<module name="@string/resource" packageName="package_name" isHidden="false|true"
<module ....
</module-metadata>