Usługi Ext

Zadbaj o dobrą organizację dzięki kolekcji Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.

Moduł ExtServices aktualizuje komponenty frameworka dla podstawowych funkcji systemu operacyjnego, takich jak ranking powiadomień, strategie autouzupełniania dopasowywania tekstu, pamięć podręczna pamięci masowej, nadzór nad pakietami i inne usługi, które działają w sposób ciągły. Ten moduł można aktualizować, co oznacza, że ​​może otrzymywać aktualizacje funkcji poza normalnym cyklem wydawniczym Androida.

Komponenty usługi

Moduł ExtServices zawiera następujące usługi.

DisplayHashingService

W systemie Android 12 DisplayHashingService służy do generowania wystąpienia DisplayHash dla określonego bufora. Służy również do sprawdzania, czy system wygenerował określony skrót wyświetlania. Podczas generowania skrótu wyświetlania wywołujący może określić, którego z obsługiwanych algorytmów haszowania chce użyć.

TextClassifierService

Składnik usługi TextClassifierService obsługuje interfejsy API TextClassifier i funkcje systemu Android, takie jak inteligentne zaznaczanie tekstu i inteligentne sugestie w powiadomieniach. Moduł ExtServices zawiera domyślny klasyfikator tekstu, który jest weryfikowany przez test CTS TextClassifierPolicyTest.java .

W razie potrzeby możesz skonfigurować niestandardową usługę klasyfikatora tekstu, określając config_defaultTextClassifierPackage w config.xml . Niestandardowe klasyfikatory tekstu mogą zależeć od domyślnego klasyfikatora tekstu, wywołując TextClassifierService.getDefaultTextClassifierImplementation(Context) w celu uzyskania jego wystąpienia.

InlineSuggestionRenderService

Komponent usługi InlineSuggestionRenderService umożliwia wyświetlanie sugestii wbudowanych na pasku sugestii klawiatury. Ta usługa jest wywoływana w celu renderowania obiektu View zawierającego sugestię w tekście dla nowego przepływu autouzupełniania w wierszu. Domyślna implementacja tej usługi renderowania wywołuje androidx.autofill.inline.Renderer w celu renderowania sugestii. To zachowanie jest weryfikowane przez testy CTS w /autofillservice/cts/inline/ .

Nazwa pakietu

Urządzenia z systemem Android 11 muszą ustawić config_servicesExtensionPackage (w frameworks/base/core/res/res/values/config.xml ) na nazwę pakietu ExtServices ( com.android.ext.services ). Ta zmiana konfiguracji jest weryfikowana przez test CTS cts/tests/tests/os/src/android/os/cts/RequiredComponentsTest.java .

Granica modułu

W systemie Android 12 kod modułu ExtServices jest przenoszony z frameworks/base/apex/extservices (jest to podkatalog projektu frameworks/base project ) i packages/modules/ExtServices .

Nowa struktura projektu dla packages/modules/ExtServices wygląda następująco:

  • apex/ (pliki z frameworks/base/apex/extservices )
  • java/ (pliki z packages/modules/ExtServices/res , packages/modules/ExtServices/src , packages/modules/ExtServices/tests i pliki nowej funkcji)
  • jni/ (pliki dla nowej funkcji)
  • native/ (pliki dla nowej funkcji)

Granica modułu ExtServices znajduje się w packages/modules/ExtServices . Android 11 przenosi również kilka klas implementacji TextClassifier z frameworks/base/core/ .

Format modułu

W systemie Android 11 moduł ExtServices ( com.android.ext.services ) jest w formacie APEX . W Androidzie 10 ten moduł jest w formacie APK.

Dostosowywanie

W Androidzie 11 możesz skonfigurować niestandardową usługę klasyfikatora tekstu, która wywołuje domyślny klasyfikator tekstu (jednak nie jest to zalecane). W systemie Android 10 moduł ExtServices nie zapewnia opcji dostosowywania.

Testowanie

Android Compatibility Test Suite (CTS) weryfikuje funkcjonalność modułu ExtServices, przeprowadzając kompleksowy zestaw testów CTS w każdej wersji modułu. Ponadto Mainline Test Suite (MTS) zawiera również kilka testów ExtServices. Pełna lista testów ExtServices wygląda następująco: