บริการพิเศษ

โมดูล ExtServices อัปเดตส่วนประกอบเฟรมเวิร์กสำหรับฟังก์ชันการทำงานของระบบปฏิบัติการหลัก เช่น การจัดอันดับการแจ้งเตือน กลยุทธ์การจับคู่ข้อความที่ป้อนอัตโนมัติ แคชพื้นที่เก็บข้อมูล โปรแกรมเฝ้าระวังแพ็คเกจ และบริการอื่น ๆ ที่ทำงานอย่างต่อเนื่อง โมดูลนี้สามารถอัปเดตได้ ซึ่งหมายความว่าสามารถรับอัปเดตฟังก์ชันการทำงานนอกรอบการเปิดตัว Android ปกติได้

ส่วนประกอบการบริการ

โมดูล ExtServices ประกอบด้วยบริการต่อไปนี้

บริการดิสเพลย์แฮชชิง

ใน 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 ทั้งหมดมีดังต่อไปนี้: