Идентификация ОС Android

keywords: AiAssisted,release16,androidconnectivity,bluetooth,category:AndroidConnectivity,docType:Guide

Начиная с Android 14 фреймворк Android включает сервис Generic Attribute (GATT) под названием Android Information Service (AIS). Он позволяет устройствам Bluetooth считывать уровень API Android как характеристику GATT сервиса. Этот сервис позволяет производителям устройств Bluetooth узнавать, устанавливает ли периферийное устройство Bluetooth связь с центральным устройством, на котором работает ОС Android, и управлять специализированной логикой на основе уровня API.

Информационный сервис Android (AIS)

AIS – это стандартный сервис GATT, и на устройстве может быть только один экземпляр AIS. Основной UUID сервиса – e73e0001-ef1b-4e74-8291-2e4f3164f3b5. Характеристика уровня API Android (UUID: e73e0002-ef1b-4e74-8291-2e4f3164f3b5) содержит уровень API устройства в виде 32-битного целого числа без знака в двоичной форме (little-endian). Значение характеристики уровня API Android имеет длину 4 октета (например, уровень API 36 – 0x24_00_00_00). Когда устройство видимо, значение характеристики уровня API Android можно прочитать без аутентификации или авторизации. Если устройство не обнаруживается, характеристика уровня API Android доступна для чтения только после аутентификации и авторизации.

Обзор сервиса

Устройство Bluetooth выполняет роль клиента GATT, а устройство Android – роль сервера. Чтобы обнаружить AIS и считать уровень API Android, устройства Bluetooth используют процедуры профиля GATT, такие как обнаружение основного сервиса, обнаружение характеристик и считывание значения характеристики. Подробную информацию об этих процедурах можно найти в спецификации профиля GATT.

Уровень API определяется системным свойством ro.build.version.sdk. Если основной сервис не удается обнаружить, это означает, что системное свойство не определено или его значение пустое, либо операционная система хоста не Android.

Проверка

Чтобы проверить, можно ли обнаружить AIS, выполните ручное тестирование, подключив периферийное устройство Bluetooth к устройству на базе Android, а затем найдите UUID сервиса AIS в обнаруженных основных сервисах.