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