Ab dem 27. März 2025 empfehlen wir, android-latest-release
anstelle von aosp-main
zu verwenden, um AOSP zu erstellen und Beiträge dazu zu leisten. Weitere Informationen finden Sie unter Änderungen am AOSP.
Identifikation des Android-Betriebssystems
Mit Sammlungen den Überblick behalten
Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.
keywords: AiAssisted,release16,androidconnectivity,bluetooth,category:AndroidConnectivity,docType:Guide
Ab Android 14 enthält das Android-Framework einen GATT-Dienst (Generic Attribute) 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.
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.
Alle Inhalte und Codebeispiele auf dieser Seite unterliegen den Lizenzen wie im Abschnitt Inhaltslizenz beschrieben. Java und OpenJDK sind Marken oder eingetragene Marken von Oracle und/oder seinen Tochtergesellschaften.
Zuletzt aktualisiert: 2025-08-22 (UTC).
[[["Leicht verständlich","easyToUnderstand","thumb-up"],["Mein Problem wurde gelöst","solvedMyProblem","thumb-up"],["Sonstiges","otherUp","thumb-up"]],[["Benötigte Informationen nicht gefunden","missingTheInformationINeed","thumb-down"],["Zu umständlich/zu viele Schritte","tooComplicatedTooManySteps","thumb-down"],["Nicht mehr aktuell","outOfDate","thumb-down"],["Problem mit der Übersetzung","translationIssue","thumb-down"],["Problem mit Beispielen/Code","samplesCodeIssue","thumb-down"],["Sonstiges","otherDown","thumb-down"]],["Zuletzt aktualisiert: 2025-08-22 (UTC)."],[],[],null,["# Android OS identification\n\nkeywords: AiAssisted,release16,androidconnectivity,bluetooth,category:AndroidConnectivity,docType:Guide\n\nStarting in Android 14, the Android framework includes a Generic Attribute\n(GATT) service called Android information service (AIS), which lets Bluetooth\ndevices read the Android API level as a GATT characteristic of the service.\nThis service lets Bluetooth device manufacturers know whether a Bluetooth\nperipheral is pairing with a central device that is running the Android OS,\nand manage specialized logic based on the API level.\n\nAndroid information service (AIS)\n---------------------------------\n\nAIS is a standard GATT service and there can be only one instance of AIS on\na device. The primary service UUID is `e73e0001-ef1b-4e74-8291-2e4f3164f3b5`.\nThe Android API level characteristic (UUID:\n`e73e0002-ef1b-4e74-8291-2e4f3164f3b5`) contains the API level of the device as\nan unsigned 32-bit integer in binary form (little-endian). The value of the\nAndroid API level characteristic is 4 octets in length (for example, API\nlevel 36 is `0x24_00_00_00`). When the device is discoverable, the Android API\nlevel characteristic value is readable without authentication or authorization.\nWhen the device isn't discoverable, the Android API level characteristic is\nreadable only with authentication and authorization.\n\nDiscover the service\n--------------------\n\nThe Bluetooth device is on the GATT client role and the Android-powered device\nis on the server role. To discover AIS and read the Android API level, Bluetooth\ndevices use GATT profile procedures such as the *primary service discovery* ,\n*characteristic discovery* , and *characteristic value read* procedures. For\ndetails on these procedures, see the [GATT profile specification](https://www.bluetooth.com/wp-content/uploads/Files/Specification/HTML/Core-54/out/en/host/generic-attribute-profile--gatt-.html).\n\nThe API level is defined by the `ro.build.version.sdk` system property. If the\nprimary service can't be discovered, it means that the system property isn't\ndefined or the value is set to empty, or the host operation system isn't\nAndroid.\n\nValidation\n----------\n\nTo verify that AIS can be discovered, run a manual test by pairing a Bluetooth\nperipheral with an Android-powered device, and then looking up the AIS service\nUUID in the discovered primary services."]]