Kể từ Android 16, khung Android sẽ bao gồm một dịch vụ Thuộc tính chung (GATT) có tên là dịch vụ thông tin Android (AIS). Dịch vụ này cho phép các thiết bị Bluetooth đọc cấp API Android dưới dạng một đặc điểm GATT của dịch vụ. Dịch vụ này cho phép các nhà sản xuất thiết bị Bluetooth biết liệu một thiết bị ngoại vi Bluetooth có đang ghép nối với một thiết bị trung tâm chạy hệ điều hành Android hay không, đồng thời quản lý logic chuyên biệt dựa trên cấp độ API.
Dịch vụ thông tin Android (AIS)
AIS là một dịch vụ GATT tiêu chuẩn và chỉ có thể có một phiên bản AIS trên một thiết bị. UUID dịch vụ chính là e73e0001-ef1b-4e74-8291-2e4f3164f3b5
.
Đặc điểm cấp độ API Android (UUID: e73e0002-ef1b-4e74-8291-2e4f3164f3b5
) chứa cấp độ API của thiết bị dưới dạng số nguyên 32 bit không dấu ở dạng nhị phân (little-endian). Giá trị của đặc điểm cấp độ API Android có độ dài là 4 octet (ví dụ: API cấp 36 là 0x24_00_00_00
). Khi thiết bị có thể phát hiện, giá trị đặc điểm cấp độ API Android có thể đọc được mà không cần xác thực hoặc uỷ quyền.
Khi thiết bị không thể phát hiện, đặc điểm cấp độ API Android chỉ có thể đọc được khi có xác thực và uỷ quyền.
Khám phá dịch vụ
Thiết bị Bluetooth ở vai trò máy khách GATT và thiết bị chạy Android ở vai trò máy chủ. Để khám phá AIS và đọc cấp độ API Android, các thiết bị Bluetooth sử dụng các quy trình hồ sơ GATT như khám phá dịch vụ chính, khám phá đặc điểm và đọc giá trị đặc điểm. Để biết thông tin chi tiết về các quy trình này, hãy xem quy cách hồ sơ GATT.
Cấp độ API được xác định bằng thuộc tính hệ thống ro.build.version.sdk
. Nếu không phát hiện được dịch vụ chính, tức là thuộc tính hệ thống chưa được xác định hoặc giá trị được đặt thành trống, hoặc hệ điều hành máy chủ không phải là Android.
Xác nhận kết quả
Để xác minh rằng AIS có thể được phát hiện, hãy chạy một quy trình kiểm thử thủ công bằng cách ghép nối một thiết bị ngoại vi Bluetooth với một thiết bị chạy Android, sau đó tra cứu UUID dịch vụ AIS trong các dịch vụ chính đã phát hiện.