Ble Android广告:AddServiceData

时间:2019-08-30 09:30:15

标签: android kotlin bluetooth-lowenergy android-ble

在我的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 调用中删除,则播发开始没有任何问题。 怎么了?

1 个答案:

答案 0 :(得分:2)

错误代码1对应于常量ADVERTISE_FAILED_DATA_TOO_LARGE。您的数据必须小于等于31个字节:

  

由于要广播的广告数据大于31个字节,因此无法开始广告。

尝试减小要添加的数据的大小。