Od Androida 16 platforma Androida zawiera usługę Generic Attribute (GATT) o nazwie Android information service (AIS), która umożliwia urządzeniom Bluetooth odczytywanie poziomu interfejsu API Androida jako charakterystyki GATT usługi. Ta usługa informuje producentów urządzeń Bluetooth, czy urządzenie peryferyjne Bluetooth jest parowane z urządzeniem centralnym z Androidem, i umożliwia zarządzanie specjalistyczną logiką na podstawie poziomu interfejsu API.
Usługa informacji o Androidzie (AIS)
Usługa AIS jest standardową usługą GATT i na urządzeniu może być tylko jedna jej instancja. Główny identyfikator UUID usługi to e73e0001-ef1b-4e74-8291-2e4f3164f3b5
.
Charakterystyka poziomu interfejsu API Androida (UUID:e73e0002-ef1b-4e74-8291-2e4f3164f3b5
) zawiera poziom interfejsu API urządzenia jako 32-bitową liczbę całkowitą bez znaku w formacie binarnym (little-endian). Wartość cechy poziomu interfejsu API Androida ma długość 4 oktetów (np. poziom interfejsu API 36 to 0x24_00_00_00
). Gdy urządzenie jest wykrywalne, wartość cechy poziomu interfejsu API Androida jest odczytywalna bez uwierzytelniania lub autoryzacji.
Gdy urządzenie nie jest wykrywalne, charakterystyka poziomu interfejsu API Androida jest odczytywalna tylko po uwierzytelnieniu i autoryzacji.
Poznaj usługę
Urządzenie Bluetooth pełni rolę klienta GATT, a urządzenie z Androidem – rolę serwera. Aby wykryć AIS i odczytać poziom interfejsu API Androida, urządzenia Bluetooth korzystają z procedur profilu GATT, takich jak wykrywanie usługi podstawowej, wykrywanie charakterystyki i odczytywanie wartości charakterystyki. Szczegółowe informacje o tych procedurach znajdziesz w specyfikacji profilu GATT.
Poziom interfejsu API jest określony przez właściwość systemową ro.build.version.sdk
. Jeśli nie można wykryć usługi podstawowej, oznacza to, że właściwość systemowa nie jest zdefiniowana lub jej wartość jest pusta albo system operacyjny hosta nie jest Androidem.
Weryfikacja
Aby sprawdzić, czy AIS jest wykrywalny, przeprowadź test ręczny, parując urządzenie peryferyjne Bluetooth z urządzeniem z Androidem, a następnie wyszukując identyfikator UUID usługi AIS w wykrytych usługach podstawowych.