Modul ExtServices memperbarui komponen framework untuk fungsi OS inti, seperti peringkat notifikasi, strategi pencocokan teks isi otomatis, cache penyimpanan, pengawas paket, dan layanan lain yang berjalan terus-menerus. Modul ini dapat diupdate, yang berarti modul ini dapat menerima update fungsi di luar siklus rilis Android normal.
Komponen layanan
Modul ExtServices berisi layanan berikut.
DisplayHashingService
mulai di Android 12TextClassifierService
mulai di Android 11InlineSuggestionsRenderService
mulai di Android 11AutofillFieldClassificationService
mulai di Android 10NotificationAssistantService
mulai di Android 10ResolverRankerService
mulai di Android 10CacheQuotaService
mulai di Android 10
DisplayHashingService
Di Android 12, DisplayHashingService
digunakan untuk
membuat instance DisplayHash
untuk buffer yang ditentukan. Hash ini juga digunakan
untuk memverifikasi bahwa hash layar tertentu dibuat oleh sistem. Saat
membuat hash tampilan, pemanggil dapat menentukan algoritma hashing yang didukung yang ingin digunakan.
TextClassifierService
Komponen layanan
TextClassifierService
mendukung TextClassifier
API
dan fitur Android seperti pemilihan teks smart dan saran smart dalam
notifikasi. Modul ExtServices berisi pengklasifikasi teks default, yang diverifikasi oleh pengujian CTS TextClassifierPolicyTest.java
.
Jika perlu, Anda dapat mengonfigurasi layanan klasifikasi teks kustom dengan menentukan
config_defaultTextClassifierPackage
di
config.xml
.
Pengklasifikasi teks kustom dapat bergantung pada pengklasifikasi teks default dengan memanggil
TextClassifierService.getDefaultTextClassifierImplementation(Context)
untuk mendapatkan instance-nya.
InlineSuggestionRenderService
Komponen layanan InlineSuggestionRenderService
memungkinkan Saran Inline ditampilkan di kolom saran keyboard. Layanan ini dipanggil untuk merender objek
View
yang menyimpan Saran Inline untuk alur Isi Otomatis Inline baru.
Implementasi default untuk layanan perender ini memanggil
androidx.autofill.inline.Renderer
untuk merender saran. Perilaku ini diverifikasi oleh pengujian CTS di
/autofillservice/cts/inline/
.
Nama paket
Perangkat yang menjalankan Android 11 harus menyetel
config_servicesExtensionPackage
(di
frameworks/base/core/res/res/values/config.xml
) ke nama paket ExtServices (com.android.ext.services
). Perubahan konfigurasi ini diverifikasi oleh
pengujian CTS
cts/tests/tests/os/src/android/os/cts/RequiredComponentsTest.java
.
Batas modul
Di Android 12, kode modul ExtServices dipindahkan dari frameworks/base/apex/extservices
(ini adalah subdirektori frameworks/base project
)
dan
packages/modules/ExtServices
.
Struktur project baru untuk packages/modules/ExtServices
adalah sebagai berikut:
apex/
(file dariframeworks/base/apex/extservices
)java/
(file daripackages/modules/ExtServices/res
,packages/modules/ExtServices/src
,packages/modules/ExtServices/tests
, dan file untuk fitur baru)jni/
(file untuk fitur baru)native/
(file untuk fitur baru)
Batas modul ExtServices ada di packages/modules/ExtServices
. Android 11 juga memindahkan beberapa class penerapan TextClassifier
keluar dari frameworks/base/core/
.
Format modul
Di Android 11, modul ExtServices
(com.android.ext.services
) berada dalam format
APEX. Di Android 10, modul ini dalam format APK.
Penyesuaian
Di Android 11, Anda dapat mengonfigurasi layanan klasifikasi teks kustom yang memanggil pengklasifikasi teks default (namun, hal ini tidak direkomendasikan). Di Android 10, modul ExtServices tidak menyediakan opsi penyesuaian.
Pengujian
Android Compatibility Test Suite (CTS) memverifikasi fungsi modul ExtServices dengan menjalankan serangkaian pengujian CTS yang komprehensif pada setiap rilis modul. Selain itu, Mainline Test Suite (MTS) juga berisi beberapa pengujian ExtServices. Daftar lengkap pengujian ExtServices adalah sebagai berikut:
Perubahan konfigurasi. Diverifikasi oleh pengujian CTS
cts/tests/tests/os/src/android/os/cts/RequiredComponentsTest.java
.Konfigurasi
TextClassifier
. Diverifikasi oleh pengujian CTScts/TextClassifierPolicyTest.java
.Saran inline isi otomatis. Diverifikasi oleh pengujian CTS di
cts/inline/
.