Dịch vụ bên ngoài

Mô-đun ExtServices cập nhật các thành phần của 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ữ, bộ đếm giờ phòng vệ gói và các dịch vụ khác chạy liên tục. Mô-đun này là có thể cập nhật, nghĩa là ứng dụng có thể nhận thông tin cập nhật về chức năng ngoài bình thường Chu kỳ phát hành Android.

Thành phần dịch vụ

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

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

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

Dịch vụ TextClassifier

Chiến lược phát hành đĩa đơn TextClassifierService mặt sau thành phần dịch vụ 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 thuật toán phân loại văn bản mặc định, được xác minh qua bài kiểm tra CTS TextClassifierPolicyTest.java.

Nếu cần, bạn có thể định cấu hình dịch vụ thuật toán phân loại văn bản tuỳ chỉnh bằng cách chỉ định config_defaultTextClassifierPackage inch config.xml. Các thuật toán phân loại văn bản tuỳ chỉnh có thể phụ thuộc 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 phiên bản của báo cáo đó.

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

Thành phần dịch vụ InlineSuggestionRenderService bật tính năng Đề xuất cùng dòng được hiển thị trong dải đề xuất bàn phím. Dịch vụ này được gọi để kết xuất Đối tượng View giữ Đề 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ụ kết xuất đồ hoạ này gọi vào androidx.autofill.inline.Renderer để hiển thị đề xuất. Hành vi này được xác minh bằng các bài kiểm thử CTS trong /autofillservice/cts/inline/.

Tên gói

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

Ranh giới mô-đun

Trong Android 12, ExtServices mã mô-đun được di chuyển khỏi 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 của packages/modules/ExtServices như sau:

  • apex/ (tệp từ frameworks/base/apex/extservices)
  • java/ (tệp từ packages/modules/ExtServices/res, packages/modules/ExtServices/src, packages/modules/ExtServices/tests và 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. của Android 11 cũng di chuyển một số phương thức triển khai TextClassifier trong tổng số frameworks/base/core/.

Định dạng mô-đun

Trong Android 11, mô-đun ExtServices (com.android.ext.services) nằm trong APEX . Trên 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 văn bản tuỳ chỉnh dịch vụ thuật toán phân loại gọi văn bản mặc định thuật toán phân loại (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 lựa chọn tuỳ chỉnh.

Thử nghiệm

Bộ kiểm tra tính tương thích (CTS) với Android sẽ xác minh mô-đun ExtServices bằng cách chạy một tập hợp các bài kiểm thử CTS toàn diện trên mọi mô-đun bản phát hành. Ngoài ra, Bộ thử nghiệm dòng 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: