参考にしたコードによって 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 件のコメント:
コメントを投稿