บริการภายนอก

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

องค์ประกอบบริการ

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

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

ใน Android 12 จะมีการใช้ DisplayHashingService เพื่อ สร้างอินสแตนซ์ของ DisplayHash สำหรับบัฟเฟอร์ที่ระบุ นอกจากนี้ยังใช้ เพื่อยืนยันว่าระบบสร้างแฮชการแสดงผลที่เฉพาะเจาะจง วันและเวลา สร้างแฮชการแสดงผล ผู้โทรจะสามารถระบุได้ว่า อัลกอริทึมการแฮชที่ต้องการใช้

บริการจำแนกประเภทข้อความ

TextClassifierService คอมโพเนนต์บริการย้อนกลับ TextClassifier API และฟีเจอร์ของ Android อย่างเช่นการเลือกข้อความอัจฉริยะและคำแนะนำอัจฉริยะใน การแจ้งเตือน โมดูล ExtServices มีตัวแยกประเภทข้อความเริ่มต้น ซึ่งยืนยันโดยการทดสอบของ CTS TextClassifierPolicyTest.java

หากจำเป็น คุณสามารถกำหนดค่าบริการตัวแยกประเภทข้อความที่กำหนดเองโดยระบุ config_defaultTextClassifierPackage นิ้ว config.xml ตัวแยกประเภทข้อความที่กำหนดเองสามารถใช้ตัวแยกประเภทข้อความเริ่มต้นได้โดยการเรียกใช้ TextClassifierService.getDefaultTextClassifierImplementation(Context) เพื่อรับอินสแตนซ์

inlineRecommendationionRenderService

คอมโพเนนต์บริการ 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 แอนดรอยด์ 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 ที่ครอบคลุมในทุกโมดูล นอกจากนี้ ชุดทดสอบเมนไลน์ (MTS) ยังมี การทดสอบ ExtServices รายการการทดสอบ ExtServices ทั้งหมดมีดังนี้