โมดูล ModuleMetadata มีข้อมูลเมตาเกี่ยวกับรายการโมดูลในอุปกรณ์ที่กำหนด ระบบจะแยกวิเคราะห์และแคชข้อมูลเมตาทันทีที่เซิร์ฟเวอร์ระบบ เริ่มต้น
การเปลี่ยนแปลงใน Android 10
APK ของ ModuleMetadata มี ModuleInfoProvider
ซึ่ง
ใช้เมธอด getModuleInfo
และ getInstalledModules
จาก API ของ PackageManager วิธีการเหล่านี้ได้รับการสนับสนุน
จากข้อมูลเมตา 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>