参考にしたコードによって Data Type Value (AD Type) の値は違うのだが、なぜ違っているのがわからなくてかなり調べた。調べた結果...
- Data Type Value (AD Type) は直接指定できない
- AdvertiseData.Builder,AdvertiseSettings.Builder のメソッドを呼ぶことで、Advertise に特定の AD Structure を追加できる
- Advertise に AD Structure を追加する方法はこれしかないらしい(API level 21:Android 5.0)
- 結局、Data Type Value (AD Type) を設定するのは、AdvertiseData.Builder,AdvertiseSettings.Builder のメソッドを選ぶこと
AdvertiseData.Builder のメソッドで付加される AD Structure
Data Type Value | Data Type Name | Method |
---|---|---|
0x03 | Complete List of 16-bit Service Class UUIDs | addServiceUuid(ParcelUuid serviceUuid) |
0x09 | Complete Local Name | setIncludeDeviceName(boolean includeDeviceName) |
0x0A | Tx Power Level | setIncludeTxPowerLevel(boolean includeTxPowerLevel) |
0x16 | Service Data - 16-bit UUID | addServiceData(ParcelUuid serviceDataUuid, byte[] serviceData) |
0xFF | Manufacturer Specific Data | addManufacturerData(int manufacturerId, byte[] manufacturerSpecificData) |
AdvertiseSettings.Builder のメソッドで付加される AD Structure
Data Type Value | Data Type Name | Method | note |
---|---|---|---|
0x01 | Flags | setConnectable(boolean connectable) | connectable:true の時だけ Flags:0x02(LE General Discoverable Mode)のAD Structureが入る connectable:false だと挿入される AD Structure はなし |
0 件のコメント:
コメントを投稿