Das ExtServices-Modul aktualisiert die Framework-Komponenten für die wichtigsten Betriebssystemfunktionen, z. B. das Ranking von Benachrichtigungen, Strategien zur automatischen Vervollständigung von Text, Watchdog-Paket und andere kontinuierlich ausgeführte Dienste. Dieses Modul ist aktualisierbar, d. h. es kann Updates für Funktionen erhalten, die nicht Android-Releasezyklus
Dienstkomponenten
Das ExtServices-Modul enthält die folgenden Dienste.
DisplayHashingService
ab Android 12TextClassifierService
ab Android 11InlineSuggestionsRenderService
beginnt in Android 11AutofillFieldClassificationService
beginnt in Android 10NotificationAssistantService
beginnt in Android 10ResolverRankerService
beginnt in Android 10CacheQuotaService
ab Android 10
DisplayHashingService
In Android 12 wird DisplayHashingService
verwendet, um
Generiert eine Instanz von DisplayHash
für den angegebenen Zwischenspeicher. Es wird auch verwendet,
um zu überprüfen, ob ein bestimmter Anzeige-Hash vom System generiert wurde. Wann?
Generieren eines Anzeige-Hashs kann der Aufrufer angeben, welche der unterstützten
Hash-Algorithmen, die sie verwenden möchten.
TextClassifierService
Die
TextClassifierService
Rückseiten der Dienstkomponente TextClassifier
APIs
und Android-Funktionen wie die intelligente Textauswahl und intelligente Vorschläge in
Benachrichtigungen. Das ExtServices-Modul enthält den Standard-Textklassifikator,
der durch den CTS-Test verifiziert wird,
TextClassifierPolicyTest.java
Bei Bedarf können Sie einen benutzerdefinierten Textklassifikatordienst konfigurieren, indem Sie Folgendes angeben:
config_defaultTextClassifierPackage
Zoll
config.xml
Benutzerdefinierte Textklassifikatoren können vom standardmäßigen Textklassifikator abhängig sein, indem der Aufruf
TextClassifierService.getDefaultTextClassifierImplementation(Context)
um eine Instanz davon zu erhalten.
InlineSuggestionRenderService
Die Dienstkomponente InlineSuggestionRenderService
aktiviert Inline-Vorschläge
das in der Leiste mit Tastaturvorschlägen angezeigt wird. Dieser Dienst wird aufgerufen, um ein
View
-Objekt mit dem Inline-Vorschlag für den neuen Inline-Autofill-Vorgang.
Die Standardimplementierung für diesen Renderer-Dienst ruft in
androidx.autofill.inline.Renderer
um den Vorschlag zu rendern. Dieses Verhalten wird durch CTS-Tests in
/autofillservice/cts/inline/
Paketname
Für Geräte mit Android 11 muss Folgendes festgelegt werden:
config_servicesExtensionPackage
(in
frameworks/base/core/res/res/values/config.xml
) zum ExtServices-Paket
Name (com.android.ext.services
) Diese Konfigurationsänderung wird vom
CTS-Test
cts/tests/tests/os/src/android/os/cts/RequiredComponentsTest.java
Modulgrenze
In Android 12 werden die ExtServices
Modulcode wurde aus frameworks/base/apex/extservices
verschoben
(dies ist ein Unterverzeichnis von frameworks/base project
)
und
packages/modules/ExtServices
Die neue Projektstruktur für packages/modules/ExtServices
sieht so aus:
apex/
(Dateien vonframeworks/base/apex/extservices
)java/
(Dateien vonpackages/modules/ExtServices/res
,packages/modules/ExtServices/src
,packages/modules/ExtServices/tests
, und Dateien für die neue Funktion)jni/
(Dateien für das neue Element)native/
(Dateien für das neue Element)
Die ExtServices-Modulgrenze befindet sich in packages/modules/ExtServices
. Android-Geräte
11 verschiebt außerdem mehrere TextClassifier
-Implementierungen
Klassen von frameworks/base/core/
.
Modulformat
In Android 11 wird das ExtServices-Modul
(com.android.ext.services
) ist in APEX
Format. Unter Android 10 liegt dieses Modul im APK-Format vor.
Personalisierung
In Android 11 können Sie einen benutzerdefinierten Text Klassifikatordienst, der den Standardtext Klassifikator (wird jedoch nicht empfohlen). In Bei Android 10 bietet das ExtServices-Modul keine Anpassungsoptionen.
Testen
Die Android Compatibility Test Suite (CTS) überprüft das ExtServices-Modul die entsprechenden Funktionen, indem eine Reihe von CTS-Tests für jedes Modul ausgeführt wird. Veröffentlichung. Darüber hinaus enthält die Mainline Test Suite (MTS) auch ExtServices-Tests. Die vollständige Liste der ExtServices-Tests sieht so aus:
Konfigurationsänderungen Durch CTS-Test geprüft
cts/tests/tests/os/src/android/os/cts/RequiredComponentsTest.java
TextClassifier
-Konfiguration. Durch CTS-Test geprüftcts/TextClassifierPolicyTest.java
Autofill-Inline-Vorschlag. Geprüft durch CTS-Tests in
cts/inline/