Servicios externos

El módulo ExtServices actualiza los componentes del framework para la funcionalidad principal del SO, como la clasificación de las notificaciones, las estrategias de coincidencia de texto de Autocompletar, perro guardián de paquetes y otros servicios que se ejecutan continuamente. En este módulo, actualizable, lo que significa que puede recibir actualizaciones de funciones fuera de lo normal Ciclo de actualización de Android

Componentes del servicio

El módulo ExtServices contiene los siguientes servicios.

Servicio de hash de display

En Android 12, DisplayHashingService se usa para lo siguiente: Genera una instancia de DisplayHash para el búfer especificado. También se usa para verificar que el sistema generó un hash de visualización específico. Cuándo generar un hash de visualización, el llamador puede especificar cuál de los hashing que quiera usar.

Servicio de clasificación de texto

El TextClassifierService versiones anteriores de componentes de servicio TextClassifier APIs y Android, como la selección de texto y las sugerencias inteligentes notificaciones. El módulo ExtServices contiene el clasificador de texto predeterminado, verificado por la prueba del CTS TextClassifierPolicyTest.java

Si es necesario, puedes configurar un servicio de clasificación de texto personalizado especificando config_defaultTextClassifierPackage in config.xml Los clasificadores de texto personalizados pueden depender del clasificador de texto predeterminado llamando TextClassifierService.getDefaultTextClassifierImplementation(Context) para obtener una instancia del mismo.

InlineSuggestedRenderService

El componente de servicio InlineSuggestionRenderService habilita las sugerencias intercaladas. para que se muestre en la barra de sugerencias del teclado. Se llama a este servicio para procesar Un objeto View que contiene la sugerencia intercalada para el nuevo flujo de esa función. La implementación predeterminada para este procesador llama a androidx.autofill.inline.Renderer para renderizar la sugerencia. Las pruebas del CTS verifican este comportamiento en /autofillservice/cts/inline/

Nombre de paquete

Se deben configurar los dispositivos que ejecutan Android 11 config_servicesExtensionPackage (en frameworks/base/core/res/res/values/config.xml) al paquete ExtServices nombre (com.android.ext.services). Este cambio en la configuración se verifica con el Prueba del CTS cts/tests/tests/os/src/android/os/cts/RequiredComponentsTest.java

Límite del módulo

En Android 12, se pueden usar el código del módulo se transfirió de frameworks/base/apex/extservices (este es un subdirectorio de frameworks/base project) y packages/modules/ExtServices

La nueva estructura de proyecto para packages/modules/ExtServices es la siguiente:

  • apex/ (archivos de frameworks/base/apex/extservices)
  • java/ (archivos de packages/modules/ExtServices/res, packages/modules/ExtServices/src, packages/modules/ExtServices/tests y archivos de la nueva función).
  • jni/ (archivos para una nueva función)
  • native/ (archivos para una nueva función)

El límite del módulo ExtServices se encuentra en packages/modules/ExtServices. En Android 11 también traslada varias implementaciones de TextClassifier de frameworks/base/core/ de clases.

Formato del módulo

En Android 11, el módulo ExtServices (com.android.ext.services) está en APEX de un conjunto de datos tengan un formato común. En Android 10, este módulo está en formato APK.

Personalización

En Android 11, puedes configurar un texto personalizado de clasificación que llama al texto predeterminado clasificador (sin embargo, esto no se recomienda). En Android 10, el módulo ExtServices no proporciona opciones de personalización.

Prueba

El Conjunto de pruebas de compatibilidad (CTS) de Android verifica el módulo ExtServices mediante la ejecución de un conjunto integral de pruebas de CTS en cada módulo lanzamiento. Además, el conjunto de pruebas principal (MTS) también contiene varias ExtServices. La lista completa de pruebas de ExtServices es la siguiente: