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
2358浏览 • 1回复 待解决
HarmonyOS读取蓝牙设备的广播数据,以及回写数据给蓝牙设备的api
1304浏览 • 1回复 待解决
HarmonyOS 蓝牙广播包如何正确的将ble.scanResult.data转为字符串
1078浏览 • 1回复 待解决
HarmonyOS 蓝牙运行问题
974浏览 • 1回复 待解决
HarmonyOS 蓝牙api问题
1392浏览 • 1回复 待解决
HarmonyOS ble蓝牙问题
1345浏览 • 1回复 待解决
HarmonyOS 本地调用蓝牙问题
1112浏览 • 1回复 待解决
HarmonyOS 广播怎么使用
694浏览 • 1回复 待解决
HarmonyOS 经典蓝牙(蓝牙协议4.0以下)的联机问题
1266浏览 • 1回复 待解决
HarmonyOS 蓝牙权限的问题, 未授权蓝牙权限后,蓝牙权限如何开启
1766浏览 • 1回复 待解决
HarmonyOS UDP广播有无Demo
1097浏览 • 1回复 待解决
HarmonyOS 经典蓝牙的搜索问题
1481浏览 • 1回复 待解决
arkts socket模块怎么连接udp的广播,接收广播信号?
3637浏览 • 0回复 待解决
HarmonyOS 蓝牙读取特征值问题
1094浏览 • 1回复 待解决
HarmonyOS 经典蓝牙的socket通信问题
1556浏览 • 1回复 待解决
HarmonyOS 蓝牙连接配对接口问题
1155浏览 • 1回复 待解决
HarmonyOS 如何发送通知或广播
1318浏览 • 1回复 待解决
蓝牙设备关机重启连接问题
564浏览 • 0回复 待解决
HarmonyOS关于蓝牙无权限的问题
3159浏览 • 1回复 待解决
关于鸿蒙OS蓝牙开发的问题
5979浏览 • 1回复 待解决
HarmonyOS BLE蓝牙发送数据量大的问题
1614浏览 • 1回复 待解决
关于鸿蒙OS蓝牙API的问题?
8228浏览 • 1回复 待解决
HarmonyOS 经典蓝牙的ssp连接和读取问题
2344浏览 • 1回复 待解决
咨询一个HarmonyOS Next 蓝牙扫描问题?
584浏览 • 0回复 待解决
HarmonyOS推送服务,有没有广播的方式呢?
1468浏览 • 1回复 待解决
createAdvertiseData方法中,manufactureDataUnit的属性值manufactureValue是ArrayBuffer类型,而方法中manufacturerSpecificData参数类型是Uint8Array,所以参数无效,请将对应的代码改为以下模样:
参考文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/ble-development-guide-V5#开启关闭广播