鸿蒙HarmonyOS SDK
设备管理
设备列表

设备列表

GizDeviceManager 维护 BLE、LAN 与云端绑定设备共用的统一设备缓存;GizUserManager 负责同步当前用户的云端绑定列表。

监听和刷新绑定设备

import { GizBoundDeviceProfile, GizSDKManager } from '@gizwits/smart-sdk';
 
const userManager = GizSDKManager.getUserManager();
const unsubscribeBound = userManager.subscribeBoundDeviceList().subscribe(
  (profiles: Array<GizBoundDeviceProfile>): void => {
    // 将云端绑定设备资料同步到 ArkUI 状态。
  }
);
 
const profiles = await userManager.refreshBoundDeviceList();

queryBoundDevices() 是主动刷新绑定列表的兼容命名。MQTT 模块依赖这里返回的服务地址和凭据建立设备云端通道。

读取统一设备列表

import { GizDeviceManager } from '@gizwits/smart-sdk';
 
const allDevices = GizDeviceManager.getRegisteredDevices();
const boundDevices = GizDeviceManager.getBoundDevices();
const bluetoothDevices = GizDeviceManager.getBluetoothDevices();
const lanDevices = GizDeviceManager.getLanDevices();
 
const unsubscribeDevices = GizDeviceManager.subscribeDeviceList().subscribe((devices): void => {
  // 任一来源的设备列表或设备状态发生变化。
});

页面销毁时调用 unsubscribeBound()unsubscribeDevices()。不要直接调用 SDK 内部的状态更新方法。