Android 16'dan itibaren Android çerçevesi, Bluetooth cihazların Android API düzeyini hizmetin GATT özelliği olarak okumasına olanak tanıyan Android bilgi hizmeti (AIS) adlı bir genel özellik (GATT) hizmeti içerir. Bu hizmet, Bluetooth cihaz üreticilerinin bir Bluetooth çevre biriminin Android OS çalıştıran merkezi bir cihazla eşlenip eşlenmediğini öğrenmesine ve API düzeyine göre özel mantığı yönetmesine olanak tanır.
Android bilgi hizmeti (AIS)
AIS standart bir GATT hizmetidir ve bir cihazda yalnızca bir AIS örneği olabilir. Birincil hizmet UUID'si e73e0001-ef1b-4e74-8291-2e4f3164f3b5
.
Android API düzeyi özelliği (UUID: e73e0002-ef1b-4e74-8291-2e4f3164f3b5
), cihazın API düzeyini ikili biçimde (az bayttan büyük) imzasız 32 bit tam sayı olarak içerir. Android API düzeyi özelliğinin değeri 4 bayt uzunluğundadır (örneğin, API düzeyi 36 için 0x24_00_00_00
). Cihaz bulunabilir durumdayken Android API düzeyi özelliği değeri kimlik doğrulama veya yetkilendirme olmadan okunabilir.
Cihaz bulunabilir durumda değilse Android API düzeyi özelliği yalnızca kimlik doğrulama ve yetkilendirme ile okunabilir.
Hizmeti keşfetme
Bluetooth cihazı GATT istemci rolünde, Android cihaz ise sunucu rolündedir. Bluetooth cihazlar, AIS'i keşfetmek ve Android API düzeyini okumak için birincil hizmet keşfi, özellik keşfi ve özellik değeri okuma gibi GATT profili prosedürlerini kullanır. Bu prosedürlerle ilgili ayrıntılar için GATT profili spesifikasyonuna bakın.
API düzeyi, ro.build.version.sdk
sistem mülkü tarafından tanımlanır. Birincil hizmet bulunamıyorsa sistem mülkü tanımlanmamış veya değer boş olarak ayarlanmış ya da ana işletim sistemi Android değildir.
Doğrulama
AIS'in bulunabileceğini doğrulamak için bir Bluetooth çevre birimini Android cihazla eşleyip bulunan birincil hizmetlerde AIS hizmet UUID'sini arayarak manuel test çalıştırın.