ExtServices

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

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 von frameworks/base/apex/extservices)
  • java/ (Dateien von packages/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: