Identifikation des Android-Betriebssystems

Ab Android 16 enthält das Android-Framework einen GATT-Dienst (Generic Attribute) namens Android Information Service (AIS), mit dem Bluetooth-Geräte die Android API-Ebene als GATT-Eigenschaft des Dienstes lesen können. Über diesen Dienst können Bluetooth-Gerätehersteller feststellen, ob ein Bluetooth-Peripheriegerät mit einem zentralen Gerät gekoppelt ist, auf dem Android ausgeführt wird, und spezielle Logik basierend auf der API-Ebene verwalten.

Android Information Service (AIS)

Der 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 Attribut „Android API-Level“ (UUID: e73e0002-ef1b-4e74-8291-2e4f3164f3b5) enthält das API-Level des Geräts als eine ungesignierte 32‑Bit-Ganzzahl in Binärform (Little Endian). Der Wert des Attributs „Android API-Ebene“ hat eine Länge von 4 Oktetten (z. B. „0x24_00_00_00“ für API-Ebene 36). Wenn das Gerät auffindbar ist, kann der Wert des Attributs „Android API-Ebene“ ohne Authentifizierung oder Autorisierung gelesen werden. Wenn das Gerät nicht auffindbar ist, kann das Attribut auf Android API-Ebene nur mit Authentifizierung und Autorisierung gelesen werden.

Dienst entdecken

Das Bluetooth-Gerät hat die Rolle eines GATT-Clients und das Android-Gerät die Rolle eines Servers. Um AIS zu erkennen und die Android API-Ebene zu lesen, verwenden Bluetooth-Geräte GATT-Profilverfahren wie die Erfassung des primären Dienstes, die Erfassung von Merkmalen und das 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 gefunden werden kann, ist die Systemeigenschaft nicht definiert, der Wert ist leer oder das Hostbetriebssystem ist nicht Android.

Zertifizierungsstufe

Um zu prüfen, ob AIS gefunden werden kann, führen Sie einen manuellen Test durch. Koppeln Sie dazu ein Bluetooth-Peripheriegerät mit einem Android-Gerät und suchen Sie dann die UUID des AIS-Dienstes in den gefundenen primären Diensten.