Dịch vụ bên ngoài

Mô-đun ExtServices cập nhật các thành phần khung cho chức năng cốt lõi của hệ điều hành, chẳng hạn như thứ hạng thông báo, chiến lược so khớp văn bản tự động điền, bộ nhớ đệm lưu trữ, trình giám sát gói và các dịch vụ khác chạy liên tục. Mô-đun này có thể cập nhật, nghĩa là có thể nhận được bản cập nhật về chức năng bên ngoài chu kỳ phát hành Android thông thường.

Thành phần dịch vụ

Mô-đun ExtServices chứa các dịch vụ sau.

Dịch vụ Hiển thị băm

Trong Android 12, DisplayHashingService được dùng để tạo một thực thể của DisplayHash cho vùng đệm đã chỉ định. Mã này cũng được dùng để xác minh rằng hệ thống đã tạo một hàm băm hiển thị cụ thể. Khi tạo hàm băm hiển thị, phương thức gọi có thể chỉ định thuật toán băm được hỗ trợ mà phương thức gọi muốn sử dụng.

TextClassifierService

Thành phần dịch vụ TextClassifierService hỗ trợ TextClassifier API và các tính năng của Android như lựa chọn văn bản thông minh và đề xuất thông minh trong thông báo. Mô-đun ExtServices chứa bộ phân loại văn bản mặc định, được xác minh bằng kiểm thử CTS TextClassifierPolicyTest.java.

Nếu cần, bạn có thể định cấu hình dịch vụ phân loại văn bản tuỳ chỉnh bằng cách chỉ định config_defaultTextClassifierPackage trong config.xml. Các thuật toán phân loại văn bản tuỳ chỉnh có thể dựa vào thuật toán phân loại văn bản mặc định bằng cách gọi TextClassifierService.getDefaultTextClassifierImplementation(Context) để lấy một thực thể của thuật toán đó.

dịch vụ hiển thị nội dung đề xuất

Thành phần dịch vụ InlineSuggestionRenderService cho phép Gợi ý cùng dòng xuất hiện trong dải gợi ý của bàn phím. Dịch vụ này được gọi để hiển thị đối tượng View chứa Đề xuất cùng dòng cho quy trình Tự động điền cùng dòng mới. Phương thức triển khai mặc định cho dịch vụ trình kết xuất này gọi vào androidx.autofill.inline.Renderer để hiển thị nội dung đề xuất. Hành vi này được xác minh bằng các kiểm thử CTS trong /autofillservice/cts/inline/.

Tên gói

Các thiết bị chạy Android 11 phải đặt config_servicesExtensionPackage (trong frameworks/base/core/res/res/values/config.xml) thành tên gói ExtServices (com.android.ext.services). Thay đổi cấu hình này được xác minh bằng quy trình kiểm thử CTS cts/tests/tests/os/src/android/os/cts/RequiredComponentsTest.java.

Ranh giới mô-đun

Trong Android 12, mã mô-đun ExtServices được di chuyển từ frameworks/base/apex/extservices (đây là thư mục con của frameworks/base project) và packages/modules/ExtServices.

Cấu trúc dự án mới cho packages/modules/ExtServices như sau:

  • apex/ (tệp từ frameworks/base/apex/extservices)
  • java/ (các tệp từ packages/modules/ExtServices/res, packages/modules/ExtServices/src, packages/modules/ExtServices/tests và các tệp cho tính năng mới)
  • jni/ (tệp cho tính năng mới)
  • native/ (tệp cho tính năng mới)

Ranh giới mô-đun ExtServices nằm trong packages/modules/ExtServices. Android 11 cũng di chuyển một số lớp triển khai TextClassifier ra khỏi frameworks/base/core/.

Định dạng mô-đun

Trong Android 11, mô-đun ExtServices (com.android.ext.services) có định dạng APEX. Trong Android 10, mô-đun này ở định dạng APK.

Tuỳ chỉnh

Trong Android 11, bạn có thể định cấu hình dịch vụ phân loại văn bản tuỳ chỉnh gọi trình phân loại văn bản mặc định (tuy nhiên, bạn không nên làm vậy). Trong Android 10, mô-đun ExtServices không cung cấp các tuỳ chọn tuỳ chỉnh.

Thử nghiệm

Bộ kiểm thử tính tương thích với Android (CTS) xác minh chức năng của mô-đun ExtServices bằng cách chạy một bộ kiểm thử CTS toàn diện trên mọi bản phát hành mô-đun. Ngoài ra, Bộ kiểm thử chính (MTS) cũng chứa một số kiểm thử ExtServices. Dưới đây là danh sách đầy đủ các bài kiểm thử ExtServices: