Android OS tanımlama

Android 16'dan itibaren Android çerçevesi, Android bilgi hizmeti (AIS) adlı bir Genel Özellik (GATT) hizmeti içerir. Bu hizmet, Bluetooth cihazların Android API düzeyini hizmetin bir GATT özelliği olarak okumasına olanak tanır. Bu hizmet, Bluetooth cihaz üreticilerinin bir Bluetooth çevre biriminin Android OS çalıştıran bir merkezi cihazla eşlenip eşlenmediğini bilmesini sağlar ve API düzeyine göre özel mantığı yönetir.

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 (little-endian) işaretsiz 32 bit tam sayı olarak içerir. Android API düzeyi özelliğinin değeri 4 sekizli uzunluğundadır (örneğin, API düzeyi 36 0x24_00_00_00'dır). Cihaz bulunabilir olduğunda Android API düzeyi özellik değeri, kimlik doğrulama veya yetkilendirme olmadan okunabilir. Cihaz bulunamadığında 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 destekli cihaz ise sunucu rolünde olmalıdır. AIS'yi keşfetmek ve Android API düzeyini okumak için Bluetooth cihazlar, 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 profil spesifikasyonuna bakın.

API düzeyi, ro.build.version.sdk sistem özelliğiyle tanımlanır. Birincil hizmet bulunamıyorsa sistem özelliği tanımlanmamış, değer boş olarak ayarlanmış veya ana makine işletim sistemi Android değil demektir.

Doğrulama

AIS'nin bulunabildiğini doğrulamak için Bluetooth çevre birimini Android destekli bir cihazla eşleyerek manuel bir test çalıştırın ve ardından bulunan birincil hizmetlerde AIS hizmeti UUID'sini arayın.