A partir de 27 de março de 2025, recomendamos usar android-latest-release
em vez de aosp-main
para criar e contribuir com o AOSP. Para mais informações, consulte Mudanças no AOSP.
Identificação do SO Android
Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
keywords: AiAssisted,release16,androidconnectivity,bluetooth,category:AndroidConnectivity,docType:Guide
A partir do Android 14, o framework Android inclui um serviço de atributo genérico (GATT, na sigla em inglês) chamado serviço de informações do Android (AIS, na sigla em inglês), que permite que dispositivos Bluetooth leiam o nível da API Android como uma característica GATT do serviço.
Esse serviço permite que os fabricantes de dispositivos Bluetooth saibam se um periférico Bluetooth está pareando com um dispositivo central que executa o SO Android e gerenciem a lógica especializada com base no nível da API.
O AIS é um serviço GATT padrão, e só pode haver uma instância dele em um dispositivo. O UUID do serviço principal é e73e0001-ef1b-4e74-8291-2e4f3164f3b5
.
A característica do nível da API do Android (UUID:
e73e0002-ef1b-4e74-8291-2e4f3164f3b5
) contém o nível da API do dispositivo como
um inteiro de 32 bits não assinado em formato binário (little-endian). O valor da característica do nível da API do Android tem 4 octetos de comprimento. Por exemplo, o nível 36 da API é 0x24_00_00_00
. Quando o dispositivo está detectável, o valor da característica do nível da API do Android pode ser lido sem autenticação ou autorização.
Quando o dispositivo não está detectável, a característica do nível da API do Android só pode ser lida com autenticação e autorização.
Descobrir o serviço
O dispositivo Bluetooth está na função de cliente GATT e o dispositivo Android
está na função de servidor. Para descobrir o AIS e ler o nível da API Android, os dispositivos Bluetooth usam procedimentos de perfil GATT, como descoberta de serviço principal, descoberta de características e leitura de valor de característica. Para
detalhes sobre esses procedimentos, consulte a especificação do perfil GATT.
O nível da API é definido pela propriedade do sistema ro.build.version.sdk
. Se o serviço principal não puder ser descoberto, isso significa que a propriedade do sistema não está definida ou o valor está vazio, ou o sistema operacional host não é o Android.
Validação
Para verificar se o AIS pode ser descoberto, faça um teste manual pareando um periférico Bluetooth com um dispositivo Android e procurando o UUID do serviço AIS nos serviços principais descobertos.
O conteúdo e os exemplos de código nesta página estão sujeitos às licenças descritas na Licença de conteúdo. Java e OpenJDK são marcas registradas da Oracle e/ou suas afiliadas.
Última atualização 2025-08-22 UTC.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Não contém as informações de que eu preciso","missingTheInformationINeed","thumb-down"],["Muito complicado / etapas demais","tooComplicatedTooManySteps","thumb-down"],["Desatualizado","outOfDate","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Problema com as amostras / o código","samplesCodeIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 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."]]