三个问题的技术描述
时间: 2026-04-15 12:41:57
(部分内容来自网络,其真实性存疑,为了避免对您造成误导,请谨慎甄别。)
工单提交用:三个问题的技术描述
把你遇到的三个问题整理成工单描述,直接复制粘贴:
问题1:设备发现后状态不同步(action值不触发)
现象:
- startDiscovering() 能发现设备(能看到设备名和networkId)
- 但 deviceStateChange 回调中 action === 0(ONLINE)触发一次后,后续状态变化不再触发
- 对端设备下线时 action === 2(OFFLINE)有时不触发,有时延迟几分钟
环境:
- API版本:HarmonyOS API 13
- 设备型号:[填写你的设备,如Mate 60 Pro + MatePad Pro]
- 系统版本:[填写版本号]
代码片段:
this.dmInstance.on('deviceStateChange', (data: { action: number; device: DeviceBasicInfo }) => {
console.log('action:', data.action); // 只触发一次0,之后无日志
});已排除:同账号、WiFi/蓝牙已开、多设备协同已开启、权限已授予
问题2:@ohos.bluetooth.manager 模块找不到
错误信息:
Cannot find module '@ohos.bluetooth.manager' or its corresponding type declarations.
环境:
- DevEco Studio版本:[填写版本]
- SDK版本:API 13
问题描述:
按照官方文档中蓝牙错误码章节的指引,尝试导入 @ohos.bluetooth.manager 检查蓝牙状态,但该模块在API 13中不存在。
官方文档中提到 bluetoothManager.getState() 等接口,但实际编译时提示模块找不到。
已尝试:
- import bluetoothManager from '@ohos.bluetooth.manager'
- import bluetoothManager from '@kit.BluetoothKit'(也不存在)
- 检查了 ohos.permission.ACCESS_BLUETOOTH 权限声明
期望:提供API 13中检查蓝牙开关状态的正确模块路径和API。
问题3:分布式KVStore数据同步后,对端查询不到
错误码:15100004
现象:
- A设备调用 kvStore.put('word', 'Apple') 成功
- 对端设备 dataChange 回调能触发(能收到变更通知)
- 但在回调中调用 kvStore.get('word') 查询数据时返回错误码 15100004,数据为 undefined
代码片段:
this.kvStore.on('dataChange', SubscribeType.SUBSCRIBE_TYPE_REMOTE, () => {
// 回调能触发,但get不到数据
const value = await this.kvStore.get('word'); // 返回15100004
});已确认:
- KVStore类型:SINGLE_VERSION
- autoSync: true
- 已调用 sync() 尝试手动同步
- 权限 ohos.permission.DISTRIBUTED_DATASYNC 已授予
- 设备已登录同账号且组网成功
期望:说明同步成功后,对端通过 get() 查询数据的正确时机或方式。