Services externes

Le module ExtServices met à jour les composants du framework pour les fonctionnalités de base du système d'exploitation, telles que le classement des notifications, les stratégies de correspondance de texte avec saisie automatique, le cache de stockage, le watchdog des packages et d'autres services exécutés en continu. Ce module est mis à jour, ce qui signifie qu'il peut recevoir des mises à jour de fonctionnalités en dehors du cycle de publication normal d'Android.

Composants du service

Le module ExtServices contient les services suivants.

DisplayHashingService

Dans Android 12, DisplayHashingService permet de générer une instance de DisplayHash pour le tampon spécifié. Il permet également de vérifier qu'un hachage d'affichage spécifique a été généré par le système. Lors de la génération d'un hachage d'affichage, l'appelant peut spécifier l'un des algorithmes de hachage compatibles qu'il souhaite utiliser.

TextClassifierService

Le composant de service TextClassifierService est compatible avec les API TextClassifier et les fonctionnalités Android telles que la sélection intelligente du texte et les suggestions intelligentes dans les notifications. Le module ExtServices contient le classificateur de texte par défaut, qui est validé par le test CTS TextClassifierPolicyTest.java.

Si nécessaire, vous pouvez configurer un service de classification de texte personnalisé en spécifiant config_defaultTextClassifierPackage dans config.xml. Les classificateurs de texte personnalisés peuvent dépendre du classificateur de texte par défaut en appelant TextClassifierService.getDefaultTextClassifierImplementation(Context) pour en obtenir une instance.

InlineSuggestionRenderService

Le composant de service InlineSuggestionRenderService permet d'afficher les suggestions intégrées dans la bande de suggestions du clavier. Ce service est appelé pour afficher un objet View contenant la suggestion intégrée pour le nouveau flux de saisie automatique intégrée. L'implémentation par défaut de ce service de rendu appelle androidx.autofill.inline.Renderer pour afficher la suggestion. Ce comportement est vérifié par les tests CTS dans /autofillservice/cts/inline/.

Nom du package

Les appareils exécutant Android 11 doivent définir config_servicesExtensionPackage (dans frameworks/base/core/res/res/values/config.xml) sur le nom du package ExtServices (com.android.ext.services). Cette modification de configuration est vérifiée par le test CTS cts/tests/tests/os/src/android/os/cts/RequiredComponentsTest.java.

Limite du module

Dans Android 12, le code du module ExtServices est déplacé de frameworks/base/apex/extservices (il s'agit d'un sous-répertoire de frameworks/base project) et de packages/modules/ExtServices.

La nouvelle structure de projet pour packages/modules/ExtServices est la suivante:

  • apex/ (fichiers de frameworks/base/apex/extservices)
  • java/ (fichiers de packages/modules/ExtServices/res, packages/modules/ExtServices/src, packages/modules/ExtServices/tests et fichiers pour la nouvelle fonctionnalité)
  • jni/ (fichiers pour la nouvelle fonctionnalité)
  • native/ (fichiers pour la nouvelle fonctionnalité)

La limite du module ExtServices se trouve dans packages/modules/ExtServices. Android 11 déplace également plusieurs classes d'implémentation TextClassifier hors de frameworks/base/core/.

Format du module

Dans Android 11, le module ExtServices (com.android.ext.services) est au format APEX. Sous Android 10, ce module est au format APK.

Personnalisation

Dans Android 11, vous pouvez configurer un service de classification du texte personnalisé qui appelle le classificateur de texte par défaut (cependant, cela n'est pas recommandé). Sous Android 10, le module ExtServices ne fournit pas d'options de personnalisation.

Tests

La suite de tests de compatibilité Android (CTS) vérifie le fonctionnement du module ExtServices en exécutant un ensemble complet de tests CTS sur chaque version du module. De plus, la suite de tests principale (MTS) contient également plusieurs tests ExtServices. Voici la liste complète des tests ExtServices: