Android 16부터 Android 프레임워크에는 Android 정보 서비스 (AIS)라는 일반 속성 (GATT) 서비스가 포함되어 있습니다. 이 서비스는 블루투스 기기가 Android API 수준을 서비스의 GATT 특성으로 읽을 수 있도록 합니다. 이 서비스를 통해 블루투스 기기 제조업체는 블루투스 주변기기가 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를 조회하여 수동 테스트를 실행합니다.