Ab Android 16 enthält das Android-Framework einen GATT-Dienst (Generic Attribute Profile) namens „Android Information Service“ (AIS), mit dem Bluetooth-Geräte das Android-API-Level als GATT-Merkmal des Dienstes lesen können. Mit diesem Dienst können Bluetooth-Gerätehersteller feststellen, ob ein Bluetooth-Peripheriegerät mit einem zentralen Gerät gekoppelt wird, auf dem das Android-Betriebssystem ausgeführt wird, und spezielle Logik basierend auf dem API-Level verwalten.
Android Information Service (AIS)
AIS ist ein standardmäßiger GATT-Dienst und es kann nur eine Instanz von AIS auf einem Gerät geben. Die UUID des primären Dienstes ist e73e0001-ef1b-4e74-8291-2e4f3164f3b5
.
Das Merkmal „Android-API-Level“ (UUID: e73e0002-ef1b-4e74-8291-2e4f3164f3b5
) enthält das API-Level des Geräts als vorzeichenlose 32-Bit-Ganzzahl im Binärformat (Little-Endian). Der Wert des Merkmals „Android API-Level“ hat eine Länge von 4 Oktetten (z. B. API-Level 36 ist 0x24_00_00_00
). Wenn das Gerät erkennbar ist, kann der Wert des Merkmals „Android API-Level“ ohne Authentifizierung oder Autorisierung gelesen werden.
Wenn das Gerät nicht erkannt werden kann, ist das Merkmal „Android API-Ebene“ nur mit Authentifizierung und Autorisierung lesbar.
Dienst kennenlernen
Das Bluetooth-Gerät hat die GATT-Clientrolle und das Android-Gerät die Serverrolle. Um AIS zu erkennen und die Android-API-Ebene zu lesen, verwenden Bluetooth-Geräte GATT-Profilprozeduren wie primary service discovery (Erkennung des primären Dienstes), characteristic discovery (Erkennung von Merkmalen) und characteristic value read (Lesen von Merkmalwerten). Weitere Informationen zu diesen Verfahren finden Sie in der GATT-Profilspezifikation.
Die API-Ebene wird durch die Systemeigenschaft ro.build.version.sdk
definiert. Wenn der primäre Dienst nicht erkannt werden kann, bedeutet das, dass die Systemeigenschaft nicht definiert ist, der Wert auf „leer“ gesetzt ist oder das Hostbetriebssystem kein Android ist.
Zertifizierungsstufe
Um zu prüfen, ob AIS erkannt werden kann, führen Sie einen manuellen Test durch, indem Sie ein Bluetooth-Peripheriegerät mit einem Android-Gerät koppeln und dann die UUID des AIS-Dienstes in den erkannten primären Diensten suchen.