Nhận dạng hệ điều hành Android

Kể từ Android 16, khung Android 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 đặc điểm GATT của dịch vụ. Dịch vụ này cho phép 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 đang 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 chuẩn và chỉ có thể có một thực thể AIS trên một thiết bị. UUID của 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 chưa ký ở dạng nhị phân (little-endian). Giá trị của đặc điểm cấp độ API Android có độ dài 4 octet (ví dụ: API cấp 36 là 0x24_00_00_00). Khi thiết bị có thể được 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 không thể phát hiện thiết bị, bạn chỉ có thể đọc đặc điểm cấp độ API Android bằng cách xác thực và uỷ quyền.

Khám phá dịch vụ

Thiết bị Bluetooth đóng vai trò là ứng dụng GATT và thiết bị Android đóng vai trò là 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ư quy trình khám phá dịch vụ chính, quy trình khám phá đặc điểmquy trình đọ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 thông số kỹ thuật của hồ sơ GATT.

Cấp độ API được xác định bởi 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 không được xác định hoặc giá trị được đặt thành trống hoặc hệ điều hành của máy chủ lưu trữ không phải là Android.

Xác nhận kết quả

Để xác minh rằng có thể phát hiện AIS, hãy chạy kiểm thử thủ công bằng cách ghép nối thiết bị ngoại vi Bluetooth với thiết bị Android, sau đó tra cứu UUID dịch vụ AIS trong các dịch vụ chính đã phát hiện.