A partire dal 27 marzo 2025, ti consigliamo di utilizzare android-latest-release
anziché aosp-main
per compilare e contribuire ad AOSP. Per ulteriori informazioni, vedi Modifiche ad AOSP.
Identificazione del sistema operativo Android
Mantieni tutto organizzato con le raccolte
Salva e classifica i contenuti in base alle tue preferenze.
parole chiave: AiAssisted,release16,androidconnectivity,bluetooth,category:AndroidConnectivity,docType:Guide
A partire da Android 14, il framework Android include un servizio Generic Attribute
(GATT) chiamato Android information service (AIS), che consente ai dispositivi Bluetooth
di leggere il livello API Android come caratteristica GATT del servizio.
Questo servizio consente ai produttori di dispositivi Bluetooth di sapere se una periferica Bluetooth
si sta accoppiando con un dispositivo centrale che esegue il sistema operativo Android
e di gestire la logica specializzata in base al livello API.
AIS è un servizio GATT standard e può esistere una sola istanza di AIS su
un dispositivo. L'UUID del servizio principale è e73e0001-ef1b-4e74-8291-2e4f3164f3b5
.
La caratteristica del livello API Android (UUID:
e73e0002-ef1b-4e74-8291-2e4f3164f3b5
) contiene il livello API del dispositivo come
un intero a 32 bit senza segno in formato binario (little-endian). Il valore della caratteristica
livello API Android è lungo 4 ottetti (ad esempio, il livello API
36 è 0x24_00_00_00
). Quando il dispositivo è rilevabile, il valore della caratteristica
livello API Android è leggibile senza autenticazione o autorizzazione.
Quando il dispositivo non è rilevabile, la caratteristica del livello API Android è
leggibile solo con autenticazione e autorizzazione.
Scopri il servizio
Il dispositivo Bluetooth ha il ruolo di client GATT e il dispositivo Android
ha il ruolo di server. Per rilevare AIS e leggere il livello API Android, i dispositivi Bluetooth utilizzano procedure del profilo GATT come primary service discovery, characteristic discovery e characteristic value read. Per
dettagli su queste procedure, consulta le specifiche del profilo GATT.
Il livello API è definito dalla proprietà di sistema ro.build.version.sdk
. Se il servizio principale non può essere rilevato, significa che la proprietà di sistema non è definita o il valore è impostato su vuoto oppure il sistema operativo host non è Android.
Convalida
Per verificare che AIS possa essere rilevato, esegui un test manuale accoppiando una periferica Bluetooth
con un dispositivo Android e cercando l'UUID del servizio AIS
nei servizi principali rilevati.
I campioni di contenuti e codice in questa pagina sono soggetti alle licenze descritte nella Licenza per i contenuti. Java e OpenJDK sono marchi o marchi registrati di Oracle e/o delle sue società consociate.
Ultimo aggiornamento 2025-08-22 UTC.
[[["Facile da capire","easyToUnderstand","thumb-up"],["Il problema è stato risolto","solvedMyProblem","thumb-up"],["Altra","otherUp","thumb-up"]],[["Mancano le informazioni di cui ho bisogno","missingTheInformationINeed","thumb-down"],["Troppo complicato/troppi passaggi","tooComplicatedTooManySteps","thumb-down"],["Obsoleti","outOfDate","thumb-down"],["Problema di traduzione","translationIssue","thumb-down"],["Problema relativo a esempi/codice","samplesCodeIssue","thumb-down"],["Altra","otherDown","thumb-down"]],["Ultimo aggiornamento 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."]]