HarmonyOS蓝牙广播问题
调用蓝牙广播,报错,错误码是 401,请问需要怎样的参数格式。
关键代码如下,附近为报错信息:
// 描述蓝牙低功耗设备发送广播的参数
let setting: ble.AdvertiseSetting = {
// 表示广播间隔,最小值设置32个slot表示20ms,最大值设置16384个slot,默认值设置为1600个slot表示1s。
interval: 150,
// 表示发送功率,最小值设置-127,最大值设置1,默认值设置-7,单位dbm。
txPower: -7,
// 表示是否是可连接广播
connectable: false
}
// 发送新蓝牙广播开锁
// BLE广播包内容
let advData: ble.AdvertiseData = createAdvertiseData(0x5A57, manufacturerSpecificData, serviceDataUuid, data, parcelUuids)
// BLE回复扫描请求回复响应。
let advResponse: ble.AdvertiseData = createAdvertiseData(0x7A77, encodePhoneData, serviceDataUuid, data, parcelUuids)
try{
// 开始发送BLE广播
ble.startAdvertising({
// 描述蓝牙低功耗设备发送广播的参数
advertisingSettings: setting,
// 表示广播的数据包内容
advertisingData: advData,
// 表示回复扫描请求的响应内容
advertisingResponse: advResponse,
// 表示发送广播持续的时间。单位为10ms,有效范围为1(10ms)到65535(655350ms),如果未指定此参数或者将其设置为0,则会连续发送广播。
duration: 300
}, (err, outAdvHandle) => {
if (err) {
...
} else {
Logger.info('BLEUtil',"advHandle: " + outAdvHandle);
}
})
} catch (err) {
Logger.error('BLEUtil', 'errCode: ' + (err as BusinessError).code + ', errMessage: ' + (err as BusinessError).message);
}
}
function createAdvertiseData(manufactureId: number, manufacturerSpecificData: Uint8Array,
serviceDataUuid?: string, serviceData?: Uint8Array,
serviceUuids?: Array<string>):ble.AdvertiseData{
// 制造商信息
let manufactureDataUnit: ble.ManufactureData = {
manufactureId: manufactureId,
manufactureValue: manufacturerSpecificData
}
let serviceDataUnit: ble.ServiceData | null = serviceDataUuid && serviceData ? {
serviceUuid: serviceDataUuid,
serviceValue: serviceData.buffer
} : null
let data: ble.AdvertiseData = {
// 表示要广播的服务 UUID 列表
serviceUuids: serviceUuids ? serviceUuids : [],
// 表示要广播的制造商信息列表。
manufactureData: [manufactureDataUnit],
// 表示要广播的服务数据列表。
serviceData: serviceDataUnit ? [serviceDataUnit] : []
}
return data
}
HarmonyOS
赞
收藏 0
回答 1
待解决
相关问题
HarmonyOS 如何获取蓝牙广播包中service uuid
406浏览 • 1回复 待解决
HarmonyOS 蓝牙权限的问题, 未授权蓝牙权限后,蓝牙权限如何开启
349浏览 • 1回复 待解决
HarmonyOS 经典蓝牙的搜索问题
249浏览 • 1回复 待解决
HarmonyOS 经典蓝牙的socket通信问题
226浏览 • 1回复 待解决
arkts socket模块怎么连接udp的广播,接收广播信号?
2174浏览 • 0回复 待解决
HarmonyOS关于蓝牙无权限的问题
635浏览 • 1回复 待解决
HarmonyOS 经典蓝牙的ssp连接和读取问题
362浏览 • 1回复 待解决
关于鸿蒙OS蓝牙开发的问题
4715浏览 • 1回复 待解决
关于鸿蒙OS蓝牙API的问题?
6745浏览 • 1回复 待解决
HarmonyOS推送服务,有没有广播的方式呢?
289浏览 • 2回复 待解决
HarmonyOS蓝牙使用详情
238浏览 • 1回复 待解决
HarmonyOS 蓝牙API咨询
292浏览 • 2回复 待解决
harmonyOS 蓝牙怎么创建?
5493浏览 • 1回复 待解决
获取蓝牙权限后进入应用权限管理页面并没有获取到蓝牙权限,不确认是HarmonyOS问题还是调用的蓝牙权限不对
242浏览 • 1回复 待解决
Codelabs BLE蓝牙低功耗 例程不能发现外围蓝牙设备,应该如何差找问题呢?
5194浏览 • 1回复 待解决
HarmonyOS 蓝牙BLE开发 Dome
354浏览 • 1回复 待解决
HarmonyOS 第三方应用安装和卸载广播
257浏览 • 0回复 待解决
鸿蒙怎么接收广播有知道的吗?
11028浏览 • 1回复 待解决
webapp如何调用蓝牙?
2059浏览 • 1回复 待解决
HarmonyOS有没有蓝牙相关的操作demo
223浏览 • 1回复 待解决
HarmonyOS蓝牙连接后获取GATT服务失败
448浏览 • 1回复 待解决
HarmonyOS 有没有蓝牙,NFC相关的DEMO
212浏览 • 1回复 待解决
HarmonyOS无法获取蓝牙设备的真实MAC
327浏览 • 1回复 待解决
如何拉起设置蓝牙页面
2116浏览 • 2回复 待解决
HarmonyOS 应用崩溃后如何关闭蓝牙等连接
373浏览 • 0回复 待解决
createAdvertiseData方法中,manufactureDataUnit的属性值manufactureValue是ArrayBuffer类型,而方法中manufacturerSpecificData参数类型是Uint8Array,所以参数无效,请将对应的代码改为以下模样:
参考文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/ble-development-guide-V5#开启关闭广播