bugfix> android > 投稿

BLE経由でデータをアドバタイズするアプリを作成しています。 このような128ビットUUIDからParcelUuidを作成しています

pUuid = new ParcelUuid(UUID.fromString("128-bit UUID)

そして、私はこのようにAdvertiseDataに追加しています

aData = new AdvertiseData.Builder()
                        .setIncludeDeviceName(true)
                        .addServiceData(pUuid, data.getBytes(Charset.forName("UTF-8")))
                        .build();

今起こっているのは、パケット内の16ビットUUIDのように、場合によっては128ビットUUIDのようになることです。

常に16ビットUUIDとしてのみ来るように設定するにはどうすればよいですか?

回答 1 件
  • 16ビットUUIDを宣言する場合は、base-uuidを使用する必要がありますが、これは修正されています。

    0000xxxx-0000-1000-8000-00805F9B34FB
    
    

    例えば

    ParcelUuid pUuid = new ParcelUuid(UUID.fromString("00001234-0000-1000-8000-00805F9B34FB");
    
    

    BLE標準は、このUUIDを16ビット1として認識します。

    16ビットUUIDの詳細については、こちらをご覧ください

あなたの答え