Mulai Android 16, framework Android menyertakan layanan Atribut Generik (GATT) yang disebut layanan informasi Android (AIS), yang memungkinkan perangkat Bluetooth membaca level API Android sebagai karakteristik GATT layanan. Layanan ini memungkinkan produsen perangkat Bluetooth mengetahui apakah periferal Bluetooth disambungkan dengan perangkat pusat yang menjalankan Android OS, dan mengelola logika khusus berdasarkan level API.
Layanan informasi Android (AIS)
AIS adalah layanan GATT standar dan hanya boleh ada satu instance AIS di
perangkat. UUID layanan utama adalah e73e0001-ef1b-4e74-8291-2e4f3164f3b5
.
Karakteristik level API Android (UUID:
e73e0002-ef1b-4e74-8291-2e4f3164f3b5
) berisi level API perangkat sebagai
bilangan bulat 32-bit yang tidak ditandatangani dalam bentuk biner (little-endian). Nilai karakteristik
level API Android memiliki panjang 4 octet (misalnya, level API
36 adalah 0x24_00_00_00
). Jika perangkat dapat ditemukan, nilai karakteristik
level API Android dapat dibaca tanpa autentikasi atau otorisasi.
Jika perangkat tidak dapat ditemukan, karakteristik level API Android
hanya dapat dibaca dengan autentikasi dan otorisasi.
Menemukan layanan
Perangkat Bluetooth berada pada peran klien GATT dan perangkat Android berada pada peran server. Untuk menemukan AIS dan membaca level API Android, perangkat Bluetooth menggunakan prosedur profil GATT seperti penemuan layanan utama, penemuan karakteristik, dan prosedur pembacaan nilai karakteristik. Untuk mengetahui detail tentang prosedur ini, lihat spesifikasi profil GATT.
API level ditentukan oleh properti sistem ro.build.version.sdk
. Jika
layanan utama tidak dapat ditemukan, artinya properti sistem tidak
ditentukan atau nilainya ditetapkan ke kosong, atau sistem operasi host bukan
Android.
Validasi
Untuk memverifikasi bahwa AIS dapat ditemukan, jalankan pengujian manual dengan menyambungkan periferal Bluetooth dengan perangkat Android, lalu mencari UUID layanan AIS di layanan utama yang ditemukan.