设备管理

icon-note.gif 说明:

  • 本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
  • 本模块接口为系统接口,三方应用不支持调用。

导入模块

import deviceManager from '@ohos.distributedHardware.deviceManager';

deviceManager.createDeviceManager

createDeviceManager(bundleName: string, callback: AsyncCallback<DeviceManager>): void

创建一个设备管理器实例。

系统能力:SystemCapability.DistributedHardware.DeviceManager

  • 参数:
参数名 类型 必填 说明
bundleName string 指示应用程序的包名。
callback AsyncCallback<DeviceManager> DeviceManager实例创建时调用的回调,返回设备管理器对象实例。
  • 示例:
    deviceManager.createDeviceManager("ohos.samples.jshelloworld", (err, data) => {     
        if (err) { 
            console.info("createDeviceManager err:" + JSON.stringify(err));    
            return;
        }
        console.info("createDeviceManager success");
        this.dmInstance = data;
    });
    

DeviceStateChangeAction

表示设备状态变化的枚举。

系统能力:以下各项对应的系统能力均为SystemCapability.DistributedHardware.DeviceManager

名称 默认值 说明
ONLINE 0 设备上线。
READY 1 设备就绪,设备信息同步已完成。
OFFLINE 2 设备下线。
CHANGE 3 设备信息更改。

DeviceType

表示设备类型的枚举类。

系统能力:以下各项对应的系统能力均为SystemCapability.DistributedHardware.DeviceManager

名称 默认值 说明
SPEAKER 0x0A 智能音箱
PHONE 0x0E 手机
TABLET 0x11 平板
WEARABLE 0x6D 智能穿戴
TV 0x9C 智慧屏
CAR 0x83
UNKNOWN_TYPE 0 未知设备

DeviceInfo

设备信息。

系统能力:以下各项对应的系统能力均为SystemCapability.DistributedHardware.DeviceManager

名称 类型 必填 描述
deviceId number 设备的唯一标识。
deviceName string 设备名称。
deviceType number 设备类型。

DeviceManager

设备管理实例,用于获取可信设备和本地设备的相关信息。在调用DeviceManager的方法前,需要先通过createDeviceManager构建一个DeviceManager实例dmInstance。

release

release(): void

设备管理实例不再使用后,通过该方法释放DeviceManager实例。

系统能力:SystemCapability.DistributedHardware.DeviceManager

  • 示例:
    dmInstance.release();
    

getTrustedDeviceListSync

getTrustedDeviceListSync(): Array<DeviceInfo>

同步获取所有可信设备列表。

系统能力:SystemCapability.DistributedHardware.DeviceManager

  • 返回值:
名称 说明
Array<DeviceInfo> 返回可信设备列表。
  • 示例:
    var deviceInfoList = dmInstance.getTrustedDeviceListSync();
    

on('deviceStateChange')

on(type: 'deviceStateChange', callback: Callback<{ action: DeviceStateChangeAction, device: DeviceInfo }>): void

注册设备状态回调。

系统能力:SystemCapability.DistributedHardware.DeviceManager

  • 参数:
名称 参数类型 必填 说明
type string 注册设备状态回调,固定为deviceStateChange。
callback Callback<{ action: DeviceStateChangeAction, device: DeviceInfo }> 指示要注册的设备状态回调,返回设备状态和设备信息。
  • 示例:
    dmInstance.on('deviceStateChange', (data) => {      
          console.info("deviceStateChange on:" + JSON.stringify(data));
        }
    );
    

off('deviceStateChange')

off(type: 'deviceStateChange', callback?: Call back<{ action: DeviceStateChangeAction, device: DeviceInfo }>): void

取消注册设备状态回调。

系统能力:SystemCapability.DistributedHardware.DeviceManager

  • 参数:
名称 参数类型 必填 说明
type string 根据应用程序的包名取消注册设备状态回调。
callback Callback<{ action: DeviceStateChangeAction, device: DeviceInfo  }> 指示要取消注册的设备状态回调,返回设备状态和设备信息。
  • 示例:
    dmInstance.off('deviceStateChange', (data) => {      
          console.info('deviceStateChange' + JSON.stringify(data));
       }
    );
    

on('serviceDie')

on(type: 'serviceDie', callback: () => void): void

注册设备管理服务死亡监听。

系统能力:SystemCapability.DistributedHardware.DeviceManager

  • 参数:
名称 参数类型 必填 说明
type string 注册serviceDie回调,以便在devicemanager服务异常终止时通知应用程序。
callback () => void 注册serviceDie的回调方法。
  • 示例:
    dmInstance.on("serviceDie", () => {      
          console.info("serviceDie on");
       }
    );
    

off('serviceDie')

off(type: 'serviceDie', callback?: () => void): void

取消注册设备管理服务死亡监听。

系统能力:SystemCapability.DistributedHardware.DeviceManager

  • 参数:
名称 参数类型 必填 说明
type string 取消注册serviceDie回调,以便在devicemanager服务异常终止时通知应用程序。
callback () => void 取消注册serviceDie的回调方法。
  • 示例:
    dmInstance.off("serviceDie", () => {      
          console.info("serviceDie off");
      }
    );