Android 16부터 Android 프레임워크에는 Android 정보 서비스 (AIS)라는 일반 속성 (GATT) 서비스가 포함되어 블루투스 기기가 서비스의 GATT 특성으로 Android API 수준을 읽을 수 있습니다. 이 서비스를 통해 블루투스 기기 제조업체는 블루투스 주변기기가 Android OS를 실행하는 중앙 기기와 페어링되는지 알 수 있으며 API 수준에 따라 전문화된 로직을 관리할 수 있습니다.
Android 정보 서비스 (AIS)
AIS는 표준 GATT 서비스이며 기기에 AIS 인스턴스가 하나만 있을 수 있습니다. 기본 서비스 UUID는 e73e0001-ef1b-4e74-8291-2e4f3164f3b5
입니다.
Android API 수준 특성 (UUID: e73e0002-ef1b-4e74-8291-2e4f3164f3b5
)에는 기기의 API 수준이 바이너리 형식 (리틀 엔디언)의 부호 없는 32비트 정수로 포함됩니다. Android API 수준 특성 값의 길이는 4옥텟입니다 (예: API 수준 36은 0x24_00_00_00
). 기기를 검색할 수 있는 경우 인증이나 승인 없이 Android API 수준 특성 값을 읽을 수 있습니다.
기기를 검색할 수 없는 경우 Android API 수준 특성은 인증 및 승인을 통해서만 읽을 수 있습니다.
서비스 알아보기
블루투스 기기는 GATT 클라이언트 역할에 있고 Android 지원 기기는 서버 역할에 있습니다. AIS를 검색하고 Android API 수준을 읽기 위해 블루투스 기기는 기본 서비스 검색, 특성 검색, 특성 값 읽기 절차와 같은 GATT 프로필 절차를 사용합니다. 이러한 절차에 관한 자세한 내용은 GATT 프로필 사양을 참고하세요.
API 수준은 ro.build.version.sdk
시스템 속성으로 정의됩니다. 기본 서비스를 검색할 수 없는 경우 시스템 속성이 정의되지 않았거나 값이 비어 있거나 호스트 운영체제가 Android가 아님을 의미합니다.
유효성 검사
AIS를 검색할 수 있는지 확인하려면 블루투스 주변기기를 Android 지원 기기와 페어링한 후 검색된 기본 서비스에서 AIS 서비스 UUID를 조회하여 수동 테스트를 실행합니다.