name:
对here的描述说:
此课程提供了一种执行蓝牙LE广告操作的方法,例如启动和停止广告。广告客户可以广播由AdvertiseData 表示的最多31个字节的广告数据。
这是否意味着我可以决定整个31字节的每个字节可以包含哪些内容?如果有,怎么样? BluetoothLeAdvertiser
中列出的方法为AdvertiseData.Builder
,addManufacturerData
和addServiceData
,这些方法在我的案例中并不常用。
由于
答案 0 :(得分:2)
AFAIK您无法直接添加数据,因此您需要使用API来添加数据。然后为了节省空间,您应该将setIncludeDeviceName setIncludeTxPowerLevel设置为false。
然后,如果你想使用特征等,即你想让BLE外设提供额外的数据,而不仅仅是一个信标。然后,您必须在扫描记录中包含标志。标志需要采用正常部分,即类型+长度+数据,因此需要3个字节。如果您只使用信标,那么您将保存3个字节以用于您自己的数据。
我认为服务数据需要添加一些服务UID,所以我认为它占用空间,并且使用的最佳选项是制造商数据。
制造商数据采用类型&的正常字节。 lenght,另外android设备似乎会自动添加制造商数据,这需要额外的2个字节。
因此,对于简单的信标,您确实可以通过扫描记录传送31-4 = 27个字节的有效负载。
答案 1 :(得分:0)
我认为这可行: