HarmonyOS 鸿蒙Next中使用Wear Engine查询已连接的穿戴设备列表出错

HarmonyOS 鸿蒙Next中使用Wear Engine查询已连接的穿戴设备列表出错 要使用Wear Engine服务,进行手机侧应用的开发测试

1、按照文档,已经完成了申请Wear Engine服务,申请结果如下:

cke_3508.png

cke_3862.png

2、已在工程中entry模块的module.json5文件中,完成Client ID配置。

3、代码中调用

@State deviceClient: wearEngine.DeviceClient = wearEngine.getDeviceClient(this.getUIContext().getHostContext());
this.deviceClient.getConnectedDevices().then(devices => {
  this.deviceList = devices;
  this.printContent += `Succeeded in getting devices, devices number is ${devices.length}` + '\n';
  console.info(`Succeeded in getting devices, devices number is ${devices.length}`);
}).catch((error: BusinessError) => {
  this.printContent += `Failed to get devices. Code is ${error.code}, message is ${error.message}` + '\n';
  console.error(`Failed to get devices. Code is ${error.code}, message is ${error.message}`);
})

提示:getConnectedDevices error is {“code”:1008509999,“name”:"",“message”:“Internal error.”}

4、测试设备为:Pura 70 Pro HarmonyOS 5.1.0 ,API版本17。


更多关于HarmonyOS 鸿蒙Next中使用Wear Engine查询已连接的穿戴设备列表出错的实战教程也可以访问 https://www.itying.com/category-93-b0.html

7 回复

感谢您的提问,为了更快解决您的问题,麻烦请补充以下信息:

如您已确认申请接入了Wear Engine服务

  1. 请提供详细的hilog日志;

  2. 提供详细的系统版本号和API版本;

更多关于HarmonyOS 鸿蒙Next中使用Wear Engine查询已连接的穿戴设备列表出错的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


运行的https://gitee.com/harmonyos_samples/wear-engine-sample 示例项目,测试的DevicePage中的获取连接设备功能。

HiLog:

09-10 09:12:21.956 44184-45062 C01719/com.zh.app.demo/ffrt com.zh.app.demo W 9:~WorkerThread:72 to exit, qos[0] 09-10 09:12:22.030 44184-45070 C01719/com.zh.app.demo/ffrt com.zh.app.demo W 10:~WorkerThread:72 to exit, qos[2] 09-10 09:12:24.932 44184-45051 C03F00/com.zh…o/ArkCompiler com.zh.app.demo I [gc] SmartGC: app cold start finished 09-10 09:12:24.933 44184-45115 C01719/com.zh.app.demo/ffrt com.zh.app.demo W 11:~WorkerThread:72 to exit, qos[3] 09-10 09:12:24.983 44184-45059 C01719/com.zh.app.demo/ffrt com.zh.app.demo W 12:~WorkerThread:72 to exit, qos[2] 09-10 09:12:30.930 44184-45354 C01719/com.zh.app.demo/ffrt com.zh.app.demo W 13:~WorkerThread:72 to exit, qos[3] 09-10 09:12:33.243 44184-45064 C02805/com.zh.a…InputKeyFlow com.zh.app.demo I [][OnPointerEvent:216] ac: down: 187138 09-10 09:12:33.243 44184-45064 C02805/com.zh.a…InputKeyFlow com.zh.app.demo I [P:D:187138][OnPointerEvent:544] id:187138 recv 09-10 09:12:33.243 44184-45064 C04213/com.zh.a…InputKeyFlow com.zh.app.demo I [] OnInputEvent(86): eid:0,InputId:187138,wid:222,ac:2 09-10 09:12:33.245 44184-45064 C04219/com.zh…demo/WMSDecor com.zh.app.demo W [] GetDecorHeight(2241): Get app window decor height failed 09-10 09:12:33.246 44184-45064 C03919/com.zh…InputTracking com.zh.app.demo I [(-1:100000:singleton)] pointdown windowId: 222 09-10 09:12:33.246 44184-45064 C04213/com.zh.a…InputKeyFlow com.zh.app.demo I [] ConsumePointerEventInner(876): InputId:187138,wid:222,pointId:0,srcType:2,rect:[0,0,1260,2844],notify:1 09-10 09:12:33.246 44184-44184 C03951/com.zh.a…InputKeyFlow com.zh.app.demo I [(100000:100000:scope)] InputTracking id:187138, fingerId:0, type=0, inject=0, isPrivacyMode=0 09-10 09:12:33.246 44184-45064 C02805/com.zh.a…InputKeyFlow com.zh.app.demo I [][OnPointerEvent:216] ac: move: 187139 09-10 09:12:33.247 44184-44184 C03951/com.zh.a…InputKeyFlow com.zh.app.demo I [(100000:100000:scope)] InputTracking id:187138, touch test hitted node info: fingerId: 0{ tag: Scroll, depth: 5 };{ tag: Button, depth: 9 }; 09-10 09:12:33.247 44184-44184 C03951/com.zh.a…InputKeyFlow com.zh.app.demo I [(100000:100000:scope)] InputTracking id:187138, touch test hitted recognizer type info: recognizer type ClickRecognizer node info: { tag: Scroll }; { tag: Button };recognizer type PanRecognizer node info: { tag: Scroll }; 09-10 09:12:33.247 44184-44184 C03F00/MUSL-LDSO com.zh.app.demo E Open absolute_path library: check ns accessible failed, pathname /system/lib64/libstylus_innerapi.z.so namespace ndk. 09-10 09:12:33.247 44184-44184 C03F00/MUSL-LDSO com.zh.app.demo E Error loading header /system/lib64/libstylus_innerapi.z.so, namespace ndk has no inherits, errno=2 09-10 09:12:33.247 44184-44184 C03F00/MUSL-LDSO com.zh.app.demo E Error loading header: can’t find library /system/lib64/libstylus_innerapi.z.so in namespace: default 09-10 09:12:33.247 44184-44184 C03F00/MUSL-LDSO com.zh.app.demo E dlopen_impl load library header failed for /system/lib64/libstylus_innerapi.z.so 09-10 09:12:33.249 44184-44184 C03951/com.zh.a…InputKeyFlow com.zh.app.demo I [(100000:100000:scope)] Id:187138, exclusive 0 type: 0 09-10 09:12:33.249 44184-44184 C03951/com.zh.a…InputKeyFlow com.zh.app.demo I [(100000:100000:scope)] Id:187138, click 0 down, ETF: 0, CTP: 0, state: 0 09-10 09:12:33.249 44184-44184 C03951/com.zh.a…InputKeyFlow com.zh.app.demo I [(100000:100000:scope)] Id:187138, click 0 down, ETF: 0, CTP: 0, state: 0 09-10 09:12:33.249 44184-44184 C03951/com.zh.a…InputKeyFlow com.zh.app.demo I [(100000:100000:scope)] Id:187138, pan 0 down, state: 0 09-10 09:12:33.249 44184-44184 C03919/com.zh…InputTracking com.zh.app.demo I [(100000:100000:scope)] Consumed new event id=187138 in ace_container, lastEventInfo: id:-1 09-10 09:12:33.266 44184-45064 C02805/com.zh.a…InputKeyFlow com.zh.app.demo I [][OnPointerEvent:216] ac: move, first: 187140-(2025-09-10 09:12:33.252ms), 187141, count: 2, last: ac: up: 187142 09-10 09:12:33.266 44184-45064 C02805/com.zh.a…InputKeyFlow com.zh.app.demo I [P:U:187142][OnPointerEvent:544] id:187142 recv 09-10 09:12:33.266 44184-45064 C04213/com.zh.a…InputKeyFlow com.zh.app.demo I [] OnInputEvent(86): eid:1,InputId:187142,wid:222,ac:4 09-10 09:12:33.267 44184-45064 C04213/com.zh.a…InputKeyFlow com.zh.app.demo I [] ConsumePointerEventInner(876): InputId:187142,wid:222,pointId:0,srcType:2,rect:[0,0,1260,2844],notify:1 09-10 09:12:33.267 44184-44184 C03951/com.zh.a…InputKeyFlow com.zh.app.demo I [(100000:100000:scope)] InputTracking id:187142, fingerId:0, type=1, inject=0, isPrivacyMode=0 09-10 09:12:33.267 44184-44184 C03951/com.zh.a…InputKeyFlow com.zh.app.demo I [(100000:100000:scope)] Id:187142, exclusive 0 type: 1 09-10 09:12:33.267 44184-44184 C03951/com.zh.a…InputKeyFlow com.zh.app.demo I [(100000:100000:scope)] Id:187142, click 0 up, state: 0 09-10 09:12:33.267 44184-44184 C0391E/com.zh…mo/AceGesture com.zh.app.demo I [(100000:100000:scope)] Click try accept 09-10 09:12:33.267 44184-44184 C0390B/com.zh…AceScrollable com.zh.app.demo I [(100000:100000:scope)] Scrollable GestureJudge:0, 0 09-10 09:12:33.267 44184-44184 C03951/com.zh.a…InputKeyFlow com.zh.app.demo I [(100000:100000:scope)] Id:187142, click 0 up, state: 0 09-10 09:12:33.267 44184-44184 C0391E/com.zh…mo/AceGesture com.zh.app.demo I [(100000:100000:scope)] Click try accept 09-10 09:12:33.268 44184-44184 C03951/com.zh.a…InputKeyFlow com.zh.app.demo I [(100000:100000:scope)] Click accepted, tag: Button 09-10 09:12:33.269 44184-44184 C03925/com.zh…emo/AceRouter com.zh.app.demo I [(100000:100000:scope)] Page router manager is creating page[2]: url: pages/DevicePage path: pages/DevicePage.js, recoverable: yes, namedRouter: no 09-10 09:12:33.277 44184-44184 C057C1/com.zh…rRegistration com.zh.app.demo W Register 72: path:ohos.appexecfwk.BundleMgr is already Register 09-10 09:12:33.277 44184-44184 C03F01/com.zh.app.demo/NAPI com.zh.app.demo I [(native_module_manager.cpp:297)(Register)] At tail register module name is ‘bundle.bundleManager’, isAppModule is 0 09-10 09:12:33.278 44184-44184 C01719/com.zh.app.demo/ffrt com.zh.app.demo I 14:QueueHandler:64 construct sq_ces_queue_1_3 succ, qos[2] 09-10 09:12:33.281 44184-44184 C03F01/com.zh.app.demo/NAPI com.zh.app.demo I [(native_module_manager.cpp:297)(Register)] At tail register module name is ‘file.fs’, isAppModule is 0 09-10 09:12:33.283 44184-44184 C057C1/com.zh…rRegistration com.zh.app.demo W Register 72: path:ohos.appexecfwk.BundleMgr is already Register 09-10 09:12:33.285 44184-44184 C03900/com.zh.app.demo/Ace com.zh.app.demo I [(100000:100000:scope)] build ohmUrl for forward compatibility 09-10 09:12:33.285 44184-44184 C03925/com.zh…emo/AceRouter com.zh.app.demo I [(100000:100000:scope)] add named router record, name: , bundleName: com.zh.app.demo, moduleName: entry, pagePath: pages/DevicePage, pageFullPath: entry/src/main/ets/pages/DevicePage, ohmUrl: @bundle:com.zh.app.demo/entry/ets/pages/DevicePage 09-10 09:12:33.287 44184-44184 C03926/com.zh…demo/AceTheme com.zh.app.demo W [(100000:100000:scope)] style textfield_pattern not contains error_text_border_color_alpha! 09-10 09:12:33.287 44184-44184 C03926/com.zh…demo/AceTheme com.zh.app.demo W [(100000:100000:scope)] style textfield_pattern not contains disable_underline_alpha! 09-10 09:12:33.287 44184-44184 C03926/com.zh…demo/AceTheme com.zh.app.demo W [(100000:100000:scope)] style textfield_pattern not contains default_counter_color! 09-10 09:12:33.287 44184-44184 C03926/com.zh…demo/AceTheme com.zh.app.demo W [(100000:100000:scope)] style textfield_pattern not contains over_counter_color! 09-10 09:12:33.287 44184-44184 C03926/com.zh…demo/AceTheme com.zh.app.demo W [(100000:100000:scope)] style textfield_pattern not contains underline_color_alpha! 09-10 09:12:33.287 44184-44184 C03926/com.zh…demo/AceTheme com.zh.app.demo W [(100000:100000:scope)] style textfield_pattern not contains underline_color_alpha! 09-10 09:12:33.287 44184-44184 C03926/com.zh…demo/AceTheme com.zh.app.demo W [(100000:100000:scope)] style textfield_pattern not contains cursor_width! 09-10 09:12:33.287 44184-44184 C03926/com.zh…demo/AceTheme com.zh.app.demo W [(100000:100000:scope)] style textfield_pattern not contains error_password_border_alpha! 09-10 09:12:33.287 44184-44184 C03926/com.zh…demo/AceTheme com.zh.app.demo W [(100000:100000:scope)] style textfield_pattern not contains over_count_border_color_alpha! 09-10 09:12:33.287 44184-44184 C03926/com.zh…demo/AceTheme com.zh.app.demo W [(100000:100000:scope)] style textfield_pattern not contains textinput_default_height! 09-10 09:12:33.287 44184-44184 C03926/com.zh…demo/AceTheme com.zh.app.demo W [(100000:100000:scope)] style textfield_pattern not contains text_field_placeholder_linespacing! 09-10 09:12:33.287 44184-44184 C03914/com.zh.a…AceTextField com.zh.app.demo I [(100000:100000:scope)] text field create node, id = 42 09-10 09:12:33.289 44184-44184 C05302/com.zh.a…Hint_To_Type com.zh.app.demo I Input hints: device capability id 09-10 09:12:33.289 44184-44184 C05302/com.zh.a…Hint_To_Type com.zh.app.demo I Input types: 09-10 09:12:33.289 44184-44184 C05302/com.zh.a…Hint_To_Type com.zh.app.demo I Output types: 0 09-10 09:12:33.290 44184-44184 C03932/com.zh…o/AceAutoFill com.zh.app.demo E [(100000:100000:scope)] CheckAutoFillType :autoFillType is ACE_UNSPECIFIED. 09-10 09:12:33.290 44184-44184 C03914/com.zh.a…AceTextField com.zh.app.demo I [(100000:100000:scope)] SetIsEnableSubWindowMenu enable=1 09-10 09:12:33.291 44184-44184 C03914/com.zh.a…AceTextField com.zh.app.demo I [(100000:100000:scope)] text field create node, id = 46 09-10 09:12:33.291 44184-44184 C05302/com.zh.a…Hint_To_Type com.zh.app.demo I Input hints: wearengine capability id 09-10 09:12:33.291 44184-44184 C05302/com.zh.a…Hint_To_Type com.zh.app.demo I Input types: 09-10 09:12:33.291 44184-44184 C05302/com.zh.a…Hint_To_Type com.zh.app

导出hilog日志到当前目录。

hdc file recv data/log/hilog/ ./

提供问题发生时间点前后完整的hilog日志。

日志文件附在下方,辛苦。

你好,hilog日志如附件。

在鸿蒙Next中,使用Wear Engine查询设备列表出错可能由权限未配置或引擎初始化异常导致。请检查ohos.permission.DISTRIBUTED_DATASYNC权限是否在module.json5中声明,并确认设备已开启蓝牙且处于可发现状态。排查Wear Engine API调用参数是否正确,避免空指针或类型错误。

从您的描述来看,Wear Engine服务申请和配置已基本完成,但调用getConnectedDevices时返回错误码1008509999(内部错误)。以下是排查建议:

  1. 权限检查:确保在module.json5中已声明必要的权限,例如ohos.permission.DISTRIBUTED_DATASYNC,用于设备发现和通信。

  2. 服务依赖验证:确认Wear Engine服务已正确集成到项目中,依赖项版本与HarmonyOS Next API 17兼容。检查package.json@ohos/wearEngine的版本是否支持当前系统。

  3. 上下文传递getDeviceClient使用的HostContext需确保来自有效的UI组件上下文。建议在aboutToAppear或组件初始化时获取上下文,避免空值。

  4. 设备连接状态:确保测试手机与穿戴设备已通过蓝牙或Wi-Fi正常配对并连接。系统设置中应显示设备为“已连接”状态。

  5. 错误日志分析:通过hilog查看详细错误日志,使用console.error输出更完整的堆栈信息,辅助定位内部错误的具体原因。

  6. API兼容性:HarmonyOS 5.1.0(API 17)可能与Wear Engine部分接口存在适配问题,建议检查是否有已知的版本兼容性更新或补丁。

若以上步骤仍无法解决,建议提供更详细的错误日志或尝试在真机调试模式下复现问题。

回到顶部