الخدمات الإضافية

تقوم الوحدة النمطية ExtServices بتحديث مكونات إطار العمل لوظائف نظام التشغيل الأساسية ، مثل تصنيف الإشعارات واستراتيجيات مطابقة النص للملء التلقائي وذاكرة التخزين المؤقت ومراقبة الحزمة والخدمات الأخرى التي تعمل باستمرار. هذه الوحدة قابلة للتحديث ، مما يعني أنها يمكن أن تتلقى تحديثات للوظائف خارج دورة إصدار Android العادية.

مكونات الخدمة

تحتوي الوحدة النمطية ExtServices على الخدمات التالية.

DisplayHashingService

في Android 12 ، يتم استخدام DisplayHashingService لإنشاء مثيل DisplayHash المؤقت المحدد. يتم استخدامه أيضًا للتحقق من إنشاء تجزئة عرض معينة بواسطة النظام. عند إنشاء تجزئة عرض ، يمكن للمتصل تحديد خوارزميات التجزئة المدعومة التي يرغب في استخدامها.

TextClassifierService

يدعم مكون خدمة TextClassifierService TextClassifier برمجة تطبيقات TextClassifier وميزات Android مثل تحديد النص الذكي والاقتراحات الذكية في الإخطارات. تحتوي الوحدة النمطية ExtServices على مصنف النص الافتراضي ، والذي تم التحقق منه بواسطة اختبار CTS TextClassifierPolicyTest.java .

إذا لزم الأمر ، يمكنك تكوين خدمة مصنف نص مخصص عن طريق تحديد config_defaultTextClassifierPackage في config.xml . يمكن أن تعتمد مصنفات النص المخصص على مصنف النص الافتراضي عن طريق استدعاء TextClassifierService.getDefaultTextClassifierImplementation(Context) للحصول على مثيل له.

InlineSuggestionRenderService

يتيح مكون خدمة InlineSuggestionRenderService إمكانية عرض الاقتراحات المضمنة في شريط اقتراحات لوحة المفاتيح. يتم استدعاء هذه الخدمة لتقديم كائن View يحمل الاقتراح المضمن لتدفق الملء التلقائي المضمن الجديد. يستدعي التطبيق الافتراضي لخدمة العارض هذه androidx.autofill.inline.Renderer لتقديم الاقتراح. تم التحقق من هذا السلوك من خلال اختبارات CTS في /autofillservice/cts/inline/ .

اسم الحزمة

يجب على الأجهزة التي تعمل بنظام Android 11 تعيين config_servicesExtensionPackage (في frameworks/base/core/res/res/values/config.xml ) على اسم حزمة ExtServices ( com.android.ext.services ). يتم التحقق من تغيير التكوين هذا عن طريق اختبار CTS cts/tests/tests/os/src/android/os/cts/RequiredComponentsTest.java .

حدود الوحدة

في Android 12 ، يتم نقل رمز الوحدة النمطية ExtServices من frameworks/base/apex/extservices (هذا دليل فرعي frameworks/base project ) packages/modules/ExtServices .

هيكل المشروع الجديد packages/modules/ExtServices هو كما يلي:

  • apex/ (ملفات من frameworks/base/apex/extservices )
  • java/ (ملفات من packages/modules/ExtServices/res ، packages/modules/ExtServices/src ، packages/modules/ExtServices/tests ، وملفات لميزة جديدة)
  • jni/ (ملفات للميزة الجديدة)
  • native/ (ملفات لميزة جديدة)

حدود الوحدة النمطية ExtServices موجودة في packages/modules/ExtServices . يقوم Android 11 أيضًا بنقل العديد من فئات تطبيق TextClassifier خارج frameworks/base/core/ .

تنسيق الوحدة

في Android 11 ، تكون الوحدة النمطية ExtServices ( com.android.ext.services ) بتنسيق APEX . في Android 10 ، هذه الوحدة بتنسيق APK.

التخصيص

في Android 11 ، يمكنك تكوين خدمة مصنف نص مخصص تستدعي مصنف النص الافتراضي (ومع ذلك ، هذا غير مستحسن). في Android 10 ، لا توفر الوحدة النمطية ExtServices خيارات التخصيص.

اختبارات

يتحقق Android Compatibility Test Suite (CTS) من وظائف الوحدة النمطية ExtServices من خلال تشغيل مجموعة شاملة من اختبارات CTS في كل إصدار للوحدة. بالإضافة إلى ذلك ، يحتوي برنامج Mainline Test Suite (MTS) أيضًا على العديد من اختبارات الخدمات الإضافية. القائمة الكاملة لاختبارات ExtServices هي كما يلي: