在我的ble项目中,我试图添加一些服务数据来宣传这样的数据
var data = AdvertiseData.Builder().apply {
setIncludeDeviceName(true)
addServiceData(
ParcelUuid(BleConsts.SERVICE_UUID),
myData.toByteArray(Charsets.UTF_8)
)
}
bleAdvertiser.startAdvertising(
settings.build(),
data.build(),
advertiseCallback
)
但我的 AdvertiseCallback 实现的 onStartFailure 回调由错误代码1触发。 如果我从 data 的 addServiceData 调用中删除,则播发开始没有任何问题。 怎么了?
答案 0 :(得分:2)
错误代码1对应于常量ADVERTISE_FAILED_DATA_TOO_LARGE
。您的数据必须小于等于31个字节:
由于要广播的广告数据大于31个字节,因此无法开始广告。
尝试减小要添加的数据的大小。