Das Modul „ExtServices“ aktualisiert Framework-Komponenten für wichtige Betriebssystemfunktionen wie die Benachrichtigungsrangfolge, Strategien für den Textabgleich beim automatischen Ausfüllen, den Speichercache, den Paket-Watchdog und andere Dienste, die kontinuierlich ausgeführt werden. Dieses Modul kann aktualisiert werden. Das bedeutet, dass es außerhalb des normalen Android-Releasezyklus Funktionsupdates erhalten kann.
Dienstkomponenten
Das Modul „ExtServices“ enthält die folgenden Dienste.
DisplayHashingServiceab Android 12TextClassifierServiceab Android 11InlineSuggestionsRenderServiceab Android 11AutofillFieldClassificationServiceab Android 10NotificationAssistantServiceab Android 10ResolverRankerServiceab Android 10CacheQuotaServiceab Android 10
DisplayHashingService
In Android 12 wird DisplayHashingService verwendet, um
eine Instanz von DisplayHash für den angegebenen Puffer zu generieren. Außerdem wird damit überprüft, ob ein bestimmter Display-Hash vom System generiert wurde. Beim Generieren eines Display-Hash kann der Aufrufer angeben, welcher der unterstützten Hash-Algorithmen verwendet werden soll.
TextClassifierService
Die
TextClassifierService
Dienstkomponente unterstützt TextClassifier
APIs
und Android-Funktionen wie die intelligente Textauswahl und intelligente Vorschläge in
Benachrichtigungen. Das Modul „ExtServices“ enthält den Standard-Textklassifikator,
der durch den CTS-Test
TextClassifierPolicyTest.java überprüft wird.
Bei Bedarf können Sie einen benutzerdefinierten Textklassifikator konfigurieren, indem Sie
config_defaultTextClassifierPackage in
config.xml angeben.
Benutzerdefinierte Textklassifikatoren können vom Standard-Textklassifikator abhängen, indem sie
TextClassifierService.getDefaultTextClassifierImplementation(Context)
aufrufen, um eine Instanz davon zu erhalten.
InlineSuggestionRenderService
Mit der Dienstkomponente InlineSuggestionRenderService können Inline-Vorschläge in der Leiste mit Vorschlägen angezeigt werden. Dieser Dienst wird aufgerufen, um ein View-Objekt zu rendern, das den Inline-Vorschlag für den neuen Inline-Autofill-Ablauf enthält.
Die Standardimplementierung für diesen Renderer-Dienst ruft
androidx.autofill.inline.Renderer
auf, um den Vorschlag zu rendern. Dieses Verhalten wird durch CTS-Tests in
/autofillservice/cts/inline/ überprüft.
Paketname
Auf Geräten mit Android 11 muss
config_servicesExtensionPackage (in
frameworks/base/core/res/res/values/config.xml) auf den Paketnamen von ExtServices (com.android.ext.services) festgelegt werden. Diese Konfigurationsänderung wird durch den
CTS-Test
cts/tests/tests/os/src/android/os/cts/RequiredComponentsTest.java überprüft.
Modulgrenze
In Android 12 wird der Code des Moduls „ExtServices“
aus frameworks/base/apex/extservices
(ein Unterverzeichnis des Projekts frameworks/base project)
und
packages/modules/ExtServicesverschoben.
Die neue Projektstruktur für packages/modules/ExtServices sieht so aus:
apex/(Dateien ausframeworks/base/apex/extservices)java/(Dateien auspackages/modules/ExtServices/res,packages/modules/ExtServices/src,packages/modules/ExtServices/tests, und Dateien für neue Funktionen)jni/(Dateien für neue Funktionen)native/(Dateien für neue Funktionen)
Die Modulgrenze von ExtServices befindet sich in packages/modules/ExtServices. In Android 11 werden außerdem mehrere TextClassifier-Implementierungsklassen aus frameworks/base/core/ verschoben.
Modulformat
In Android 11 hat das Modul „ExtServices“
(com.android.ext.services) das APEX
Format. In Android 10 hat dieses Modul das APK-Format.
Anpassung
In Android 11 können Sie einen benutzerdefinierten Text klassifikator konfigurieren, der den Standard-Text klassifikator aufruft. Das wird jedoch nicht empfohlen. In Android 10 bietet das Modul „ExtServices“ keine Anpassungsoptionen.
Test
Die Android Compatibility Test Suite (CTS) überprüft die Funktionalität des Moduls „ExtServices“, indem bei jeder Modulversion eine umfassende Reihe von CTS-Tests ausgeführt wird. Darüber hinaus enthält die Mainline Test Suite (MTS) auch mehrere ExtServices-Tests. Die vollständige Liste der ExtServices-Tests sieht so aus:
Konfigurationsänderungen. Überprüft durch den CTS-Test
cts/tests/tests/os/src/android/os/cts/RequiredComponentsTest.java.TextClassifier-Konfiguration. Überprüft durch den CTS-Testcts/TextClassifierPolicyTest.java.Inline-Vorschlag für automatisches Ausfüllen. Überprüft durch CTS-Tests in
cts/inline/.