À partir du 27 mars 2025, nous vous recommandons d'utiliser android-latest-release
au lieu de aosp-main
pour créer et contribuer à AOSP. Pour en savoir plus, consultez la section Modifications apportées à AOSP.
Identification de l'OS Android
Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
keywords: AiAssisted,release16,androidconnectivity,bluetooth,category:AndroidConnectivity,docType:Guide
À partir d'Android 14, le framework Android inclut un service d'attribut générique (GATT) appelé "Service d'informations Android" (AIS, Android information service), qui permet aux appareils Bluetooth de lire le niveau d'API Android en tant que caractéristique GATT du service.
Ce service permet aux fabricants d'appareils Bluetooth de savoir si un périphérique Bluetooth est associé à un appareil central exécutant l'OS Android et de gérer une logique spécialisée en fonction du niveau d'API.
AIS est un service GATT standard et il ne peut y avoir qu'une seule instance d'AIS sur un appareil. L'UUID du service principal est e73e0001-ef1b-4e74-8291-2e4f3164f3b5
.
La caractéristique du niveau d'API Android (UUID : e73e0002-ef1b-4e74-8291-2e4f3164f3b5
) contient le niveau d'API de l'appareil sous la forme d'un entier 32 bits non signé au format binaire (little-endian). La valeur de la caractéristique du niveau d'API Android est de 4 octets (par exemple, le niveau d'API 36 est 0x24_00_00_00
). Lorsque l'appareil est détectable, la valeur de la caractéristique du niveau d'API Android est lisible sans authentification ni autorisation.
Lorsque l'appareil n'est pas détectable, la caractéristique du niveau d'API Android n'est lisible qu'avec authentification et autorisation.
Découvrir le service
L'appareil Bluetooth est associé au rôle de client GATT, et l'appareil Android au rôle de serveur. Pour découvrir l'AIS et lire le niveau d'API Android, les appareils Bluetooth utilisent des procédures de profil GATT telles que les procédures Découverte du service principal, Découverte des caractéristiques et Lecture de la valeur de la caractéristique. Pour en savoir plus sur ces procédures, consultez la spécification du profil GATT.
Le niveau d'API est défini par la propriété système ro.build.version.sdk
. Si le service principal ne peut pas être détecté, cela signifie que la propriété système n'est pas définie ou que sa valeur est vide, ou que le système d'exploitation hôte n'est pas Android.
Validation
Pour vérifier que l'AIS peut être détecté, exécutez un test manuel en associant un périphérique Bluetooth à un appareil Android, puis recherchez le UUID du service AIS dans les services principaux détectés.
Le contenu et les exemples de code de cette page sont soumis aux licences décrites dans la Licence de contenu. Java et OpenJDK sont des marques ou des marques déposées d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/08/22 (UTC).
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Il n'y a pas l'information dont j'ai besoin","missingTheInformationINeed","thumb-down"],["Trop compliqué/Trop d'étapes","tooComplicatedTooManySteps","thumb-down"],["Obsolète","outOfDate","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Mauvais exemple/Erreur de code","samplesCodeIssue","thumb-down"],["Autre","otherDown","thumb-down"]],["Dernière mise à jour le 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."]]