โมดูล ExtServices อัปเดตส่วนประกอบเฟรมเวิร์กสำหรับฟังก์ชันการทำงานของระบบปฏิบัติการหลัก เช่น การจัดอันดับการแจ้งเตือน กลยุทธ์การจับคู่ข้อความที่ป้อนอัตโนมัติ แคชพื้นที่เก็บข้อมูล โปรแกรมเฝ้าระวังแพ็คเกจ และบริการอื่น ๆ ที่ทำงานอย่างต่อเนื่อง โมดูลนี้สามารถอัปเดตได้ ซึ่งหมายความว่าสามารถรับอัปเดตฟังก์ชันการทำงานนอกรอบการเปิดตัว Android ปกติได้
ส่วนประกอบการบริการ
โมดูล ExtServices ประกอบด้วยบริการต่อไปนี้
DisplayHashingService
เริ่มต้นใน Android 12TextClassifierService
เริ่มต้นใน Android 11InlineSuggestionsRenderService
เริ่มต้นใน Android 11AutofillFieldClassificationService
เริ่มต้นใน Android 10NotificationAssistantService
เริ่มต้นใน Android 10ResolverRankerService
เริ่มต้นใน Android 10CacheQuotaService
เริ่มต้นใน Android 10
บริการดิสเพลย์แฮชชิง
ใน Android 12 นั้น DisplayHashingService
จะใช้เพื่อสร้างอินสแตนซ์ของ DisplayHash
สำหรับบัฟเฟอร์ที่ระบุ นอกจากนี้ยังใช้เพื่อตรวจสอบว่าระบบสร้างแฮชการแสดงผลเฉพาะหรือไม่ เมื่อสร้างแฮชการแสดงผล ผู้เรียกสามารถระบุอัลกอริธึมแฮชที่รองรับที่ต้องการใช้
บริการตัวแยกประเภทข้อความ
ส่วนประกอบบริการ 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 test 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 Test Suite (MTS) ยังมีการทดสอบ ExtServices หลายรายการอีกด้วย รายการการทดสอบ ExtServices ทั้งหมดมีดังต่อไปนี้:
เปลี่ยนแปลงการกำหนดค่า ตรวจสอบโดย CTS test
cts/tests/tests/os/src/android/os/cts/RequiredComponentsTest.java
การกำหนดค่า
TextClassifier
ตรวจสอบโดย CTS testcts/TextClassifierPolicyTest.java
คำแนะนำแบบอินไลน์ที่ป้อนอัตโนมัติ ตรวจสอบโดยการทดสอบ CTS ใน
cts/inline/