โมดูล ExtServices จะอัปเดตคอมโพเนนต์เฟรมเวิร์กสำหรับฟังก์ชันหลักของระบบปฏิบัติการ เช่น การจัดอันดับการแจ้งเตือน กลยุทธ์การจับคู่ข้อความสำหรับการป้อนข้อความอัตโนมัติ แคชพื้นที่เก็บข้อมูล โปรแกรมตรวจสอบแพ็กเกจ และบริการอื่นๆ ที่ทำงานอย่างต่อเนื่อง โมดูลนี้อัปเดตได้ ซึ่งหมายความว่าสามารถรับการอัปเดตฟังก์ชันการทำงานนอกรอบการเผยแพร่ Android ปกติได้
คอมโพเนนต์ของบริการ
โมดูล ExtServices มีบริการต่อไปนี้
DisplayHashingService
เริ่มต้นใน Android 12TextClassifierService
ตั้งแต่ Android 11 เป็นต้นไปInlineSuggestionsRenderService
เริ่มตั้งแต่ Android 11AutofillFieldClassificationService
เริ่มต้นใน Android 10NotificationAssistantService
เริ่มต้นใน Android 10ResolverRankerService
เริ่มต้นใน Android 10CacheQuotaService
ตั้งแต่ใน Android 10
DisplayHashingService
ใน Android 12 จะใช้ DisplayHashingService
เพื่อ
สร้างอินสแตนซ์ของ DisplayHash
สำหรับบัฟเฟอร์ที่ระบุ นอกจากนี้ ยังใช้เพื่อยืนยันว่าระบบสร้างแฮชการแสดงผลที่เฉพาะเจาะจง
เมื่อ
สร้างแฮชการแสดงผล ผู้เรียกใช้จะระบุได้ว่าจะใช้อัลกอริทึม
การแฮชที่รองรับใด
TextClassifierService
คอมโพเนนต์บริการ
TextClassifierService
รองรับ TextClassifier
API
และฟีเจอร์ Android เช่น การเลือกข้อความอัจฉริยะและคำแนะนำอัจฉริยะในการแจ้งเตือน โมดูล ExtServices มีเครื่องมือคัดข้อความเริ่มต้น
ซึ่งได้รับการยืนยันโดยการทดสอบ CTS
TextClassifierPolicyTest.java
หากจำเป็น คุณสามารถกำหนดค่าบริการเครื่องมือคัดแยกข้อความที่กำหนดเองได้โดยการระบุ
config_defaultTextClassifierPackage
ใน
config.xml
เครื่องมือแยกประเภทข้อความที่กำหนดเองอาจขึ้นอยู่กับเครื่องมือแยกประเภทข้อความเริ่มต้นโดยการเรียกใช้
TextClassifierService.getDefaultTextClassifierImplementation(Context)
เพื่อรับอินสแตนซ์ของเครื่องมือดังกล่าว
InlineSuggestionRenderService
InlineSuggestionRenderService
คอมโพเนนต์บริการช่วยให้แสดงคำแนะนำในบรรทัด
ในแถบคำแนะนำของแป้นพิมพ์ได้ บริการนี้จะเรียกใช้เพื่อแสดงผลออบเจ็กต์ที่เก็บคำแนะนำในบรรทัดสำหรับขั้นตอนการป้อนข้อความอัตโนมัติในบรรทัดใหม่View
การติดตั้งใช้งานเริ่มต้นสำหรับบริการโปรแกรมแสดงผลนี้จะเรียกใช้
androidx.autofill.inline.Renderer
เพื่อแสดงผลคำแนะนำ ลักษณะการทำงานนี้ได้รับการยืนยันโดยการทดสอบ CTS ใน
/autofillservice/cts/inline/
ชื่อแพ็กเกจ
อุปกรณ์ที่ใช้ Android 11 ต้องตั้งค่า
config_servicesExtensionPackage
(ใน
frameworks/base/core/res/res/values/config.xml
) เป็นชื่อแพ็กเกจ ExtServices (com.android.ext.services
) การเปลี่ยนแปลงการกำหนดค่านี้ได้รับการยืนยันโดย
การทดสอบ CTS
cts/tests/tests/os/src/android/os/cts/RequiredComponentsTest.java
ขอบเขตของโมดูล
ใน Android 12 ระบบได้ย้ายโค้ดโมดูล ExtServices
จาก frameworks/base/apex/extservices
(ซึ่งเป็นไดเรกทอรีย่อยของ frameworks/base project
)
และ
packages/modules/ExtServices
โครงสร้างโปรเจ็กต์ใหม่สำหรับ packages/modules/ExtServices
มีดังนี้
apex/
(ไฟล์จากframeworks/base/apex/extservices
)java/
(ไฟล์จากpackages/modules/ExtServices/res
packages/modules/ExtServices/src
,packages/modules/ExtServices/tests
และไฟล์สำหรับฟีเจอร์ใหม่)jni/
(ไฟล์สำหรับฟีเจอร์ใหม่)native/
(ไฟล์สำหรับฟีเจอร์ใหม่)
ขอบเขตโมดูล ExtServices อยู่ใน packages/modules/ExtServices
Android
11 ยังย้ายTextClassifier
การใช้งาน
คลาสหลายรายการออกจาก frameworks/base/core/
ด้วย
รูปแบบโมดูล
ใน Android 11 โมดูล ExtServices
(com.android.ext.services
) จะอยู่ในรูปแบบ APEX
ใน Android 10 โมดูลนี้จะอยู่ในรูปแบบ APK
การปรับแต่ง
ใน Android 11 คุณสามารถกำหนดค่าบริการตัวแยกประเภทข้อความที่กำหนดเองซึ่งเรียกใช้ตัวแยกประเภทข้อความเริ่มต้นได้ (แต่ไม่แนะนำ) ใน Android 10 โมดูล ExtServices ไม่มี ตัวเลือกการปรับแต่ง
การทดสอบ
ชุดเครื่องมือทดสอบความเข้ากันได้ของ Android (CTS) จะยืนยันฟังก์ชันการทำงานของโมดูล ExtServices โดยการเรียกใช้ชุดทดสอบ CTS ที่ครอบคลุมในทุกๆ การเผยแพร่โมดูล นอกจากนี้ ชุดทดสอบ Mainline (MTS) ยังมีการทดสอบ ExtServices อีกหลายรายการด้วย รายการการทดสอบ ExtServices ทั้งหมดมีดังนี้
การเปลี่ยนแปลงการกำหนดค่า ผ่านการทดสอบ CTS
cts/tests/tests/os/src/android/os/cts/RequiredComponentsTest.java
TextClassifier
config. ผ่านการทดสอบ CTScts/TextClassifierPolicyTest.java
คำแนะนำการป้อนข้อความอัตโนมัติในบรรทัด ผ่านการทดสอบ CTS ใน
cts/inline/