تحتوي وحدة ModuleMetadata على بيانات تعريف حول قائمة الوحدات الموجودة على جهاز معين. يتم تحليل بيانات التعريف وتخزينها مؤقتًا بمجرد بدء تشغيل خادم النظام.
التغييرات في أندرويد 10
يحتوي ملف ModuleMetadata APK على ModuleInfoProvider
، الذي ينفذ أساليب getModuleInfo
و getInstalledModules
من واجهة برمجة التطبيقات الخاصة بـ PackageManager. يتم دعم هذه الطرق بواسطة بيانات تعريف XML التي تم تحليلها من حزمة موفر بيانات تعريف الوحدة النمطية. يتم تخزين اسم الحزمة لحزمة البيانات التعريفية للوحدة في قيمة التكوين config_defaultModuleMetadataProvider
.
يجب أن يحتوي موفر بيانات التعريف للوحدة على إدخال <metadata>
لعلامة <application>
الخاصة به. يجب أن يحتوي إدخال البيانات التعريفية على مفتاح واحد ( android.content.pm.MODULE_METADATA
) تكون قيمته مرجعًا لمورد XML الذي يحتوي على بيانات تعريف حول قائمة الوحدات الموجودة على جهاز معين.
تنسيق الحزمة
يتم تسليم وحدة ModuleMetadata ( com.android.modulemetadata
) كملف APK.
عناصر البيانات الوصفية
يجب أن يتكون مستند XML من عنصر <module-metadata>
ذو المستوى الأعلى مع طفل واحد أو أكثر. كل طفل هو عنصر <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>