キーワード: AiAssisted,release16,androidconnectivity,bluetooth,category:AndroidConnectivity,docType:Guide
Android 14 以降、Android フレームワークには Android 情報サービス(AIS)と呼ばれる汎用属性(GATT)サービスが含まれています。これにより、Bluetooth デバイスはサービスの GATT 特性として Android API レベルを読み取ることができます。このサービスにより、Bluetooth デバイス メーカーは、Bluetooth 周辺機器が Android OS を実行している中央デバイスとペア設定されているかどうかを把握し、API レベルに基づいて特別なロジックを管理できます。
Android 情報サービス(AIS)
AIS は標準の GATT サービスであり、デバイスに AIS のインスタンスを 1 つだけ含めることができます。プライマリ サービス UUID は e73e0001-ef1b-4e74-8291-2e4f3164f3b5
です。Android API レベル特性(UUID: e73e0002-ef1b-4e74-8291-2e4f3164f3b5
)には、デバイスの API レベルがバイナリ形式(リトル エンディアン)の符号なし 32 ビット整数として含まれています。Android API レベル特性の値は 4 オクテット長です(たとえば、API レベル 36 は 0x24_00_00_00
です)。デバイスが検出可能な場合、Android API レベル特性の値は認証や認可なしで読み取り可能です。デバイスが検出可能でない場合、Android API レベルの特性は認証と認可でのみ読み取り可能です。
サービスを検出する
Bluetooth デバイスは GATT クライアントの役割、Android デバイスはサーバーの役割を果たします。AIS を検出して Android API レベルを読み取るために、Bluetooth デバイスは、プライマリ サービス検出、特性検出、特性値読み取りなどの GATT プロファイル手順を使用します。これらの手順の詳細については、GATT プロファイル仕様をご覧ください。
API レベルは ro.build.version.sdk
システム プロパティで定義されます。プライマリ サービスが見つからない場合は、システム プロパティが定義されていないか、値が空に設定されているか、ホスト オペレーティング システムが Android ではないことを意味します。
検証
AIS を検出できることを確認するには、Bluetooth 周辺機器を Android 搭載デバイスとペア設定し、検出されたプライマリ サービスで AIS サービス UUID を検索して、手動テストを実行します。