ExtServices modülü, temel işletim sistemi işlevselliği için çerçeve bileşenlerini günceller. Bildirim sıralaması, otomatik doldurma metin eşleştirme stratejileri, depolama önbelleği, paket gözetimi ve sürekli çalışan diğer hizmetler bu bileşenlere dahildir. Bu modül güncellenebilir. Yani normal Android sürüm döngüsü dışında işlevsellik güncellemeleri alabilir.
Hizmet bileşenleri
ExtServices modülü aşağıdaki hizmetleri içerir.
Android 12'den itibaren
DisplayHashingService
TextClassifierService
Android 11'den itibarenAndroid 11'den itibaren
InlineSuggestionsRenderService
Android 10'da
AutofillFieldClassificationService
Android 10'da
NotificationAssistantService
Android 10'da
ResolverRankerService
CacheQuotaService
Android 10'dan itibaren
DisplayHashingService
Android 12'de, belirtilen arabellek için DisplayHash
örneği oluşturmak üzere DisplayHashingService
kullanılır. Ayrıca, belirli bir görüntü karmasının sistem tarafından oluşturulduğunu doğrulamak için de kullanılır. Arayan, bir görüntü karması oluştururken desteklenen karma oluşturma algoritmalarından hangisini kullanmak istediğini belirtebilir.
TextClassifierService
TextClassifierService
hizmet bileşeni, TextClassifier
API'leri ve Android özelliklerini (ör. bildirimlerde akıllı metin seçimi ve akıllı öneriler) destekler. ExtServices modülü, CTS testi TextClassifierPolicyTest.java
ile doğrulanan varsayılan metin sınıflandırıcıyı içerir.
Gerekirse config.xml
içinde config_defaultTextClassifierPackage
belirterek özel bir metin sınıflandırıcı hizmeti yapılandırabilirsiniz.
Özel metin sınıflandırıcılar, TextClassifierService.getDefaultTextClassifierImplementation(Context)
çağrılarak varsayılan metin sınıflandırıcısına bağlı olabilir.
InlineSuggestionRenderService
InlineSuggestionRenderService
hizmet bileşeni, satır içi önerilerin klavyedeki öneri şeridinde gösterilmesini sağlar. Bu hizmet, yeni satır içi otomatik doldurma akışı için Satır İçi Öneri'yi içeren bir View
nesnesini oluşturmak üzere çağrılır.
Bu oluşturucu hizmetinin varsayılan uygulaması, öneriyi oluşturmak için androidx.autofill.inline.Renderer
'ı çağırır. Bu davranış, /autofillservice/cts/inline/
içindeki CTS testleriyle doğrulanır.
Paket adı
Android 11 çalıştıran cihazlar, config_servicesExtensionPackage
(in frameworks/base/core/res/res/values/config.xml
) değerini ExtServices paket adı (com.android.ext.services
) olarak ayarlamalıdır. Bu yapılandırma değişikliği, CTS testi cts/tests/tests/os/src/android/os/cts/RequiredComponentsTest.java
ile doğrulanır.
Modül sınırı
Android 12'de ExtServices modül kodu frameworks/base/apex/extservices
(frameworks/base project
'nin alt dizini) ve packages/modules/ExtServices
konumundan taşındı.
packages/modules/ExtServices
için yeni proje yapısı aşağıdaki gibidir:
apex/
(frameworks/base/apex/extservices
cihazından alınan dosyalar)java/
(packages/modules/ExtServices/res
,packages/modules/ExtServices/src
,packages/modules/ExtServices/tests
kaynaklı dosyalar ve yeni özellik dosyaları)jni/
(yeni özellik için dosyalar)native/
(yeni özellik için dosyalar)
ExtServices modül sınırı packages/modules/ExtServices
konumundadır. Android 11 ayrıca çeşitli TextClassifier
uygulama sınıflarını frameworks/base/core/
dışına taşır.
Modül biçimi
Android 11'de ExtServices modülü
(com.android.ext.services
) APEX
biçimindedir. Android 10'da bu modül APK biçimindedir.
Özelleştirme
Android 11'de, varsayılan metin sınıflandırıcıyı çağıran özel bir metin sınıflandırıcı hizmeti yapılandırabilirsiniz (ancak bu önerilmez). Android 10'da ExtServices modülü özelleştirme seçenekleri sunmaz.
Test
Android Uyumluluk Test Paketi (CTS), her modül sürümünde kapsamlı bir CTS testi grubu çalıştırarak ExtServices modülünün işlevselliğini doğrular. Ayrıca, Mainline Test Paketi (MTS) de çeşitli ExtServices testleri içerir. ExtServices testlerinin tam listesi aşağıdaki gibidir:
Yapılandırma değişiklikleri. CTS testiyle doğrulanmıştır
cts/tests/tests/os/src/android/os/cts/RequiredComponentsTest.java
.TextClassifier
yapılandırması. CTS testiyle doğrulandıcts/TextClassifierPolicyTest.java
.Satır içi otomatik doldurma önerisi.
cts/inline/
'daki CTS testleriyle doğrulandı.