@ohos.distributedHardware.deviceManager (设备管理)


@ohos.distributedHardware.deviceManager (设备管理)

本模块提供分布式设备管理能力。

系统应用可调用接口实现如下功能:

  • 注册和解除注册设备上下线变化监听
  • 发现周边不可信设备
  • 认证和取消认证设备
  • 查询可信设备列表
  • 查询本地设备信息,包括设备名称,设备类型和设备标识
  • 发布设备发现

说明:

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

导入模块

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

deviceManager.createDeviceManager

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

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

系统能力:SystemCapability.DistributedHardware.DeviceManager

参数:

参数名 类型 必填 说明
bundleName string 指示应用程序的Bundle名称。
callback AsyncCallback<DeviceManager> DeviceManager实例创建时调用的回调,返回设备管理器对象实例。

错误码:

以下的错误码的详细介绍请参见设备管理错误码

错误码ID 错误信息
11600101 Failed to execute the function.
11600102 Failed to obtain the service.

示例:

try {
  deviceManager.createDeviceManager("ohos.samples.jshelloworld", (err, data) => {
    if (err) { 
      console.error("createDeviceManager errCode:" + err.code + ",errMessage:" + err.message);
      return;
    }
    console.info("createDeviceManager success");
    let dmInstance = data;
  });
} catch(err) {
  console.error("createDeviceManager errCode:" + err.code + ",errMessage:" + err.message);
}
1
2
3
4
5
6
7
8
9
10
11
12

DeviceInfo

设备信息。

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

名称 类型 必填 说明
deviceId string 设备的唯一标识。
deviceName string 设备名称。
deviceType DeviceType 设备类型。
networkId8+ string 设备网络标识。
range9+ number 发现设备的距离。

DeviceType

表示设备类型的枚举类。

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

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

DeviceStateChangeAction

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

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

名称 说明
ONLINE 0 设备物理上线状态。
READY 1 设备可用状态,表示设备间信息已在分布式数据中同步完成, 可以运行分布式业务。
OFFLINE 2 设备物理下线状态。
CHANGE 3 设备信息更改。

SubscribeInfo

发现信息。

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

名称 类型 必填 说明
subscribeId number 发现标识,用于标识不同的发现周期。
mode DiscoverMode 发现模式。
medium ExchangeMedium 发现类型。
freq ExchangeFreq 发现频率。
isSameAccount boolean 是否同账号。
isWakeRemote boolean 是否唤醒设备。
capability SubscribeCap 发现能力。

DiscoverMode

表示发现模式的枚举。

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

名称 说明
DISCOVER_MODE_PASSIVE 0x55 被动模式。
DISCOVER_MODE_ACTIVE 0xAA 主动模式。

ExchangeMedium

表示发现类型的枚举。

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

名称 说明
AUTO 0 自动发现类型。
BLE 1 蓝牙发现类型。
COAP 2 WiFi发现类型。
USB 3 USB发现类型。

ExchangeFreq

表示发现频率的枚举。

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

名称 说明
LOW 0 低频率。
MID 1 中频率。
HIGH 2 高频率。
SUPER_HIGH 3 超高频率。

SubscribeCap

表示发现能力的枚举。

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

名称 说明
SUBSCRIBE_CAPABILITY_DDMP 0 DDMP能力,后续会被废弃。
SUBSCRIBE_CAPABILITY_OSD 1 OSD能力。

AuthParam

认证参数。

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

名称 类型 必填 说明
authType number 认证类型。
extraInfo {[key:string] : any} 认证参数可扩展字段。

AuthInfo

认证信息。

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

名称 类型 必填 说明
authType number 认证类型。
token number 认证Token。
extraInfo {[key:string] : any} 认证信息可扩展字段。

PublishInfo9+

发布设备参数

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

名称 类型 必填 说明
publishId number 发布设备标识,用于标识不同的发布周期。
mode DiscoverMode 发现模式。
freq ExchangeFreq 发现频率。
ranging boolean 发布的设备是否支持测距能力。

DeviceManager

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

release

release(): void

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

系统能力:SystemCapability.DistributedHardware.DeviceManager

错误码:

以下的错误码的详细介绍请参见设备管理错误码

错误码ID 错误信息
11600101 Failed to execute the function.

示例:

try {
  dmInstance.release();
} catch (err) {
  console.error("release errCode:" + err.code + ",errMessage:" + err.message);
}
1
2
3
4
5

getTrustedDeviceListSync

getTrustedDeviceListSync(): Array<DeviceInfo>

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

需要权限:ohos.permission.ACCESS_SERVICE_DM,仅系统应用可用。

系统能力:SystemCapability.DistributedHardware.DeviceManager

返回值:

名称 说明
Array<DeviceInfo> 返回可信设备列表。

错误码:

以下的错误码的详细介绍请参见设备管理错误码

错误码ID 错误信息
11600101 Failed to execute the function.

示例:

try {
  var deviceInfoList = dmInstance.getTrustedDeviceListSync();
} catch (err) {
  console.error("getTrustedDeviceListSync errCode:" + err.code + ",errMessage:" + err.message);
}
1
2
3
4
5

getTrustedDeviceList8+

getTrustedDeviceList(callback:AsyncCallback<Array<DeviceInfo>>): void

获取所有可信设备列表。使用callback异步回调。

需要权限:ohos.permission.ACCESS_SERVICE_DM,仅系统应用可用。

系统能力:SystemCapability.DistributedHardware.DeviceManager

参数:

参数名 类型 必填 说明
callback AsyncCallback<Array<DeviceInfo>> 获取所有可信设备列表的回调,返回设备信息。

错误码:

以下的错误码的详细介绍请参见设备管理错误码

错误码ID 错误信息
11600101 Failed to execute the function.

示例:

try {
  dmInstance.getTrustedDeviceList((err, data) => {
    if (err) {
      console.error("getTrustedDeviceList errCode:" + err.code + ",errMessage:" + err.message);
      return;
    }
    console.log('get trusted device info: ' + JSON.stringify(data));
  });
} catch (err) {
  console.error("getTrustedDeviceList errCode:" + err.code + ",errMessage:" + err.message);
}
1
2
3
4
5
6
7
8
9
10
11

getTrustedDeviceList8+

getTrustedDeviceList(): Promise<Array<DeviceInfo>>

获取所有可信设备列表。使用Promise异步回调。

需要权限:ohos.permission.ACCESS_SERVICE_DM,仅系统应用可用。

系统能力:SystemCapability.DistributedHardware.DeviceManager

返回值:

类型 说明
Promise<Array<DeviceInfo>> Promise实例,用于获取异步返回结果。

错误码:

以下的错误码的详细介绍请参见设备管理错误码

错误码ID 错误信息
11600101 Failed to execute the function.

示例:

dmInstance.getTrustedDeviceList().then((data) => {
  console.log('get trusted device info: ' + JSON.stringify(data));
  }).catch((err) => {
    console.error("getTrustedDeviceList errCode:" + err.code + ",errMessage:" + err.message);
});
1
2
3
4
5

getLocalDeviceInfoSync8+

getLocalDeviceInfoSync(): DeviceInfo

同步获取本地设备信息。

需要权限:ohos.permission.ACCESS_SERVICE_DM,仅系统应用可用。

系统能力:SystemCapability.DistributedHardware.DeviceManager

返回值:

名称 说明
DeviceInfo 返回本地设备列表。

错误码:

以下的错误码的详细介绍请参见设备管理错误码

错误码ID 错误信息
11600101 Failed to execute the function.

示例:

try {
  var deviceInfo = dmInstance.getLocalDeviceInfoSync();
} catch (err) {
  console.error("getLocalDeviceInfoSync errCode:" + err.code + ",errMessage:" + err.message);
}
1
2
3
4
5

getLocalDeviceInfo8+

getLocalDeviceInfo(callback:AsyncCallback<DeviceInfo>): void

获取本地设备信息。使用callback异步回调。

需要权限:ohos.permission.ACCESS_SERVICE_DM,仅系统应用可用。

系统能力:SystemCapability.DistributedHardware.DeviceManager

参数:

参数名 类型 必填 说明
callback AsyncCallback<DeviceInfo> 获取本地设备信息。

错误码:

以下的错误码的详细介绍请参见设备管理错误码

错误码ID 错误信息
11600101 Failed to execute the function.

示例:

try {
  dmInstance.getLocalDeviceInfo((err, data) => {
  if (err) {
    console.error("getLocalDeviceInfo errCode:" + err.code + ",errMessage:" + err.message);
    return;
  }
    console.log('get local device info: ' + JSON.stringify(data));
  });
} catch (err) {
  console.error("getLocalDeviceInfo errCode:" + err.code + ",errMessage:" + err.message);
}
1
2
3
4
5
6
7
8
9
10
11

getLocalDeviceInfo8+

getLocalDeviceInfo(): Promise<DeviceInfo>

获取本地设备信息。使用Promise异步回调。

需要权限:ohos.permission.ACCESS_SERVICE_DM,仅系统应用可用。

系统能力:SystemCapability.DistributedHardware.DeviceManager

返回值:

类型 说明
Promise<DeviceInfo> Promise实例,用于获取异步返回结果。

错误码:

以下的错误码的详细介绍请参见设备管理错误码

错误码ID 错误信息
11600101 Failed to execute the function.

示例:

dmInstance.getLocalDeviceInfo().then((data) => {
  console.log('get local device info: ' + JSON.stringify(data));
}).catch((err) => {
  console.error("getLocalDeviceInfo errCode:" + err.code + ",errMessage:" + err.message);
});
1
2
3
4
5

startDeviceDiscovery8+

startDeviceDiscovery(subscribeInfo: SubscribeInfo): void

发现周边设备。

需要权限:ohos.permission.ACCESS_SERVICE_DM,仅系统应用可用。

系统能力:SystemCapability.DistributedHardware.DeviceManager

参数:

参数名 类型 必填 说明
subscribeInfo SubscribeInfo 发现信息。

错误码:

以下的错误码的详细介绍请参见设备管理错误码

错误码ID 错误信息
11600101 Failed to execute the function.
11600104 Discovery invalid.

示例:

// 生成发现标识,随机数确保每次调用发现接口的标识不一致
var subscribeId = Math.floor(Math.random() * 10000 + 1000);
var subscribeInfo = {
    "subscribeId": subscribeId,
    "mode": 0xAA, // 主动模式
    "medium": 0,  // 自动发现类型,同时支持多种发现类型
    "freq": 2,    // 高频率
    "isSameAccount": false,
    "isWakeRemote": false,
    "capability": 1
};
try {
  dmInstance.startDeviceDiscovery(subscribeInfo); // 当有设备发现时,通过deviceFound回调通知给应用程序
} catch (err) {
  console.error("startDeviceDiscovery errCode:" + err.code + ",errMessage:" + err.message);
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

startDeviceDiscovery9+

startDeviceDiscovery(subscribeInfo: SubscribeInfo, filterOptions?: string): void

发现周边设备。

需要权限:ohos.permission.ACCESS_SERVICE_DM,仅系统应用可用。

系统能力:SystemCapability.DistributedHardware.DeviceManager

参数:

参数名 类型 必填 说明
subscribeInfo SubscribeInfo 发现信息。
filterOptions string 发现设备过滤信息。

错误码:

以下的错误码的详细介绍请参见设备管理错误码

错误码ID 错误信息
11600101 Failed to execute the function.
11600104 Discovery invalid.

示例:

// 生成发现标识,随机数确保每次调用发现接口的标识不一致
var subscribeId = Math.floor(Math.random() * 10000 + 1000);
var subscribeInfo = {
    "subscribeId": subscribeId,
    "mode": 0xAA, // 主动模式
    "medium": 0,  // 自动发现类型,同时支持多种发现类型
    "freq": 2,    // 高频率
    "isSameAccount": false,
    "isWakeRemote": false,
    "capability": 1
};
var filterOptions = {
  "filter_op": "OR", // 可选, 默认"OR"
  "filters": [
      {
          "type": "range",
          "value": 50 // 需过滤发现设备的距离,单位(cm)
      }
  ]
};
try {
  dmInstance.startDeviceDiscovery(subscribeInfo, JSON.stringify(filterOptions)); // 当有设备发现时,通过deviceFound回调通知给应用程序
} catch (err) {
  console.error("startDeviceDiscovery errCode:" + err.code + ",errMessage:" + err.message);
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25

stopDeviceDiscovery

stopDeviceDiscovery(subscribeId: number): void

停止发现周边设备。

需要权限:ohos.permission.ACCESS_SERVICE_DM,仅系统应用可用。

系统能力:SystemCapability.DistributedHardware.DeviceManager

参数:

参数名 类型 必填 说明
subscribeId number 发现标识。

错误码:

以下的错误码的详细介绍请参见设备管理错误码

错误码ID 错误信息
11600101 Failed to execute the function.

示例:

// 入参需要和startDeviceDiscovery接口传入的subscribeId配对使用
try {
  dmInstance.stopDeviceDiscovery(subscribeId);
} catch (err) {
  console.error("stopDeviceDiscovery errCode:" + err.code + ",errMessage:" + err.message);
}
1
2
3
4
5
6

publishDeviceDiscovery9+

publishDeviceDiscovery(publishInfo: PublishInfo): void

发布设备发现。

需要权限:ohos.permission.ACCESS_SERVICE_DM,仅系统应用可用。

系统能力:SystemCapability.DistributedHardware.DeviceManager

参数:

参数名 类型 必填 说明
publishInfo PublishInfo 发布设备发现信息。

错误码:

以下的错误码的详细介绍请参见设备管理错误码

错误码ID 错误信息
11600101 Failed to execute the function.
11600105 Publish invalid.

示例:

// 生成发布标识,随机数确保每次调用发布接口的标识不一致
var publishId = Math.floor(Math.random() * 10000 + 1000);
var publishInfo = {
    "publishId": publishId,
    "mode": 0xAA, // 主动模式
    "freq": 2,    // 高频率
    "ranging": 1  // 支持发现时测距
};
try {
  dmInstance.publishDeviceDiscovery(publishInfo); // 当有发布结果时,通过回调通知给应用程序
} catch (err) {
  console.error("publishDeviceDiscovery errCode:" + err.code + ",errMessage:" + err.message);
}
1
2
3
4
5
6
7
8
9
10
11
12
13

unPublishDeviceDiscovery9+

unPublishDeviceDiscovery(publishId: number): void

停止发布设备发现。

需要权限:ohos.permission.ACCESS_SERVICE_DM,仅系统应用可用。

系统能力:SystemCapability.DistributedHardware.DeviceManager

参数:

参数名 类型 必填 说明
publishId number 发布标识。

错误码:

以下的错误码的详细介绍请参见设备管理错误码

错误码ID 错误信息
11600101 Failed to execute the function.

示例:

// 入参需要和publishDeviceDiscovery接口传入的publishId配对使用
try {
  dmInstance.unPublishDeviceDiscovery(publishId);
} catch (err) {
  console.error("unPublishDeviceDiscovery errCode:" + err.code + ",errMessage:" + err.message);
}
1
2
3
4
5
6

authenticateDevice

authenticateDevice(deviceInfo: DeviceInfo, authParam: AuthParam, callback: AsyncCallback<{deviceId: string, pinToken ?: number}>): void

认证设备。

需要权限:ohos.permission.ACCESS_SERVICE_DM,仅系统应用可用。

系统能力:SystemCapability.DistributedHardware.DeviceManager

参数:

参数名 类型 必填 说明
deviceInfo DeviceInfo 设备信息。
authParam AuthParam 认证参数。
callback AsyncCallback<{deviceId: string, pinToken ?: number}> 认证结果回调。

错误码:

以下的错误码的详细介绍请参见设备管理错误码

错误码ID 错误信息
11600101 Failed to execute the function.
11600103 Authentication invalid.

示例:

// 认证的设备信息,可以从发现的结果中获取
var deviceInfo ={
    "deviceId": "XXXXXXXX",
    "deviceName": "",
    deviceType: 0x0E
};
let authParam = {
    "authType": 1, // 认证类型: 1 - 无账号PIN码认证
    "extraInfo": {} 
}
try {
  dmInstance.authenticateDevice(deviceInfo, authParam, (err, data) => {
    if (err) {
        console.error("authenticateDevice errCode:" + err.code + ",errMessage:" + err.message);
        return;
    }
    console.info("authenticateDevice result:" + JSON.stringify(data));
    let token = data.pinToken;
  });
} catch (err) {
  console.error("authenticateDevice errCode:" + err.code + ",errMessage:" + err.message);
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22

unAuthenticateDevice8+

unAuthenticateDevice(deviceInfo: DeviceInfo): void

解除认证设备。

需要权限:ohos.permission.ACCESS_SERVICE_DM,仅系统应用可用。

系统能力:SystemCapability.DistributedHardware.DeviceManager

参数:

参数名 类型 必填 说明
deviceInfo DeviceInfo 设备信息。

错误码:

以下的错误码的详细介绍请参见设备管理错误码

错误码ID 错误信息
11600101 Failed to execute the function.

示例:

try {
  dmInstance.unAuthenticateDevice(deviceInfo);
} catch (err) {
  console.error("unAuthenticateDevice errCode:" + err.code + ",errMessage:" + err.message);
}
1
2
3
4
5

verifyAuthInfo

verifyAuthInfo(authInfo: AuthInfo, callback: AsyncCallback<{deviceId: string, level: number}>): void

验证认证信息。

需要权限:ohos.permission.ACCESS_SERVICE_DM,仅系统应用可用。

系统能力:SystemCapability.DistributedHardware.DeviceManager

参数:

参数名 类型 必填 说明
authInfo AuthInfo 认证信息。
callback AsyncCallback<{deviceId: string, level: number}> 验证结果回调。

错误码:

以下的错误码的详细介绍请参见设备管理错误码

错误码ID 错误信息
11600101 Failed to execute the function.

示例:

let authInfo = {
  "authType": 1,
  "token": xxxxxx,
  "extraInfo": {}
}
try {
  dmInstance.verifyAuthInfo(authInfo, (err, data) => {
  if (err) {
      console.error("verifyAuthInfo errCode:" + err.code + ",errMessage:" + err.message);
      return;
  }
  console.info("verifyAuthInfo result:" + JSON.stringify(data));
  });
} catch (err) {
  console.error("verifyAuthInfo errCode:" + err.code + ",errMessage:" + err.message);
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

setUserOperation9+

setUserOperation(operateAction: number, params: string): void;

设置用户ui操作行为。

需要权限:ohos.permission.ACCESS_SERVICE_DM,仅系统应用可用。

系统能力:SystemCapability.DistributedHardware.DeviceManager

参数:

参数名 类型 必填 说明
operateAction number 用户操作动作。
params string 表示用户的输入参数。

示例:

try {
  /*
    operateAction = 0 - 允许授权
    operateAction = 1 - 取消授权
    operateAction = 2 - 授权框用户操作超时
    operateAction = 3 - 取消pin码框展示
    operateAction = 4 - 取消pin码输入框展示
    operateAction = 5 - pin码输入框确定操作
  */
  let operation = 0;
  this.dmInstance.setUserOperation(operation, "extra")
  } catch (err) {
    console.error("setUserOperation errCode:" + err.code + ",errMessage:" + err.message);
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14

on('uiStateChange')9+

on(type: 'uiStateChange', callback: Callback<{ param: string}>): void;

ui状态变更回调。

需要权限:ohos.permission.ACCESS_SERVICE_DM,仅系统应用可用。

系统能力:SystemCapability.DistributedHardware.DeviceManager

参数:

参数名 类型 必填 说明
type string 注册的设备管理器 ui 状态回调,以便在状态改变时通知应用。
callback Callback<{ param: string}> 指示要注册的设备管理器 ui 状态回调,返回ui状态。

示例:

try {
  dmInstance.on('uiStateChange', (data) => {
  console.log("uiStateChange executed, dialog closed" + JSON.stringify(data))
  var tmpStr = JSON.parse(data.param)
  this.isShow = tmpStr.verifyFailed
  console.log("uiStateChange executed, dialog closed" + this.isShow)
  if (!this.isShow) {
      this.destruction()
  }
});
} catch (err) {
  console.error("uiStateChange errCode:" + err.code + ",errMessage:" + err.message);
}
1
2
3
4
5
6
7
8
9
10
11
12
13

off('uiStateChange')9+

off(type: 'uiStateChange', callback?: Callback<{ param: string}>): void;

取消ui状态变更回调。

需要权限:ohos.permission.ACCESS_SERVICE_DM,仅系统应用可用。

系统能力:SystemCapability.DistributedHardware.DeviceManager

参数:

参数名 类型 必填 说明
type string 取消注册的设备管理器 ui 状态回调。
callback Callback<{ param: string}> 指示要取消注册的设备管理器 ui 状态,返回UI状态。

示例:

try {
  dmInstance.off('uiStateChange');
} catch (err) {
  console.error("uiStateChange errCode:" + err.code + ",errMessage:" + err.message);
}
1
2
3
4
5

on('deviceStateChange')

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

注册设备状态回调。

需要权限:ohos.permission.ACCESS_SERVICE_DM,仅系统应用可用。

系统能力:SystemCapability.DistributedHardware.DeviceManager

参数:

参数名 类型 必填 说明
type string 注册设备状态回调,固定为deviceStateChange。
callback Callback<{ action: DeviceStateChangeAction, device: DeviceInfo }> 指示要注册的设备状态回调,返回设备状态和设备信息。

示例:

try {
  dmInstance.on('deviceStateChange', (data) => {
    console.info("deviceStateChange on:" + JSON.stringify(data));
  });
} catch (err) {
  console.error("deviceStateChange errCode:" + err.code + ",errMessage:" + err.message);
}
1
2
3
4
5
6
7

off('deviceStateChange')

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

取消注册设备状态回调。

需要权限:ohos.permission.ACCESS_SERVICE_DM,仅系统应用可用。

系统能力:SystemCapability.DistributedHardware.DeviceManager

参数:

参数名 类型 必填 说明
type string 根据应用程序的包名取消注册设备状态回调。
callback Callback<{ action: DeviceStateChangeAction, device: DeviceInfo }> 指示要取消注册的设备状态回调,返回设备状态和设备信息。

示例:

try {
  dmInstance.off('deviceStateChange', (data) => {
    console.info('deviceStateChange' + JSON.stringify(data));
  });
} catch (err) {
  console.error("deviceStateChange errCode:" + err.code + ",errMessage:" + err.message);
}
1
2
3
4
5
6
7

on('deviceFound')

on(type: 'deviceFound', callback: Callback<{ subscribeId: number, device: DeviceInfo }>): void

注册发现设备回调监听。

需要权限:ohos.permission.ACCESS_SERVICE_DM,仅系统应用可用。

系统能力:SystemCapability.DistributedHardware.DeviceManager

参数:

参数名 类型 必填 说明
type string 注册设备发现回调,以便在发现周边设备时通知应用程序。
callback Callback<{ subscribeId: number, device: DeviceInfo }> 注册设备发现的回调方法。

示例:

try {
  dmInstance.on('deviceFound', (data) => {
    console.info("deviceFound:" + JSON.stringify(data));
  });
} catch (err) {
  console.error("deviceFound errCode:" + err.code + ",errMessage:" + err.message);
}
1
2
3
4
5
6
7

off('deviceFound')

off(type: 'deviceFound', callback?: Callback<{ subscribeId: number, device: DeviceInfo }>): void

取消注册设备发现回调。

需要权限:ohos.permission.ACCESS_SERVICE_DM,仅系统应用可用。

系统能力:SystemCapability.DistributedHardware.DeviceManager

参数:

参数名 类型 必填 说明
type string 取消注册设备发现回调。
callback Callback<{ subscribeId: number, device: DeviceInfo }> 指示要取消注册的设备发现回调,返回设备状态和设备信息。

示例:

try {
  dmInstance.off('deviceFound', (data) => {
    console.info('deviceFound' + JSON.stringify(data));
  });
} catch (err) {
  console.error("deviceFound errCode:" + err.code + ",errMessage:" + err.message);
}
1
2
3
4
5
6
7

on('discoverFail')

on(type: 'discoverFail', callback: Callback<{ subscribeId: number, reason: number }>): void

注册设备发现失败回调监听。

需要权限:ohos.permission.ACCESS_SERVICE_DM,仅系统应用可用。

系统能力:SystemCapability.DistributedHardware.DeviceManager

参数:

参数名 类型 必填 说明
type string 注册设备发现失败回调,以便在发现周边设备失败时通知应用程序。
callback Callback<{ subscribeId: number, reason: number }> 注册设备发现失败的回调方法。

示例:

try {
  dmInstance.on('discoverFail', (data) => {
      console.info("discoverFail on:" + JSON.stringify(data));
  });
} catch (err) {
  console.error("discoverFail errCode:" + err.code + ",errMessage:" + err.message);
}
1
2
3
4
5
6
7

off('discoverFail')

off(type: 'discoverFail', callback?: Callback<{ subscribeId: number, reason: number }>): void

取消注册设备发现失败回调。

需要权限:ohos.permission.ACCESS_SERVICE_DM,仅系统应用可用。

系统能力:SystemCapability.DistributedHardware.DeviceManager

参数:

参数名 类型 必填 说明
type string 取消注册设备发现失败回调。
callback Callback<{ subscribeId: number, reason: number }> 指示要取消注册的设备发现失败回调。

示例:

try {
  dmInstance.off('discoverFail', (data) => {
    console.info('discoverFail' + JSON.stringify(data));
  });
} catch (err) {
  console.error("discoverFail errCode:" + err.code + ",errMessage:" + err.message);
}
1
2
3
4
5
6
7

on('publishSuccess')9+

on(type: 'publishSuccess', callback: Callback<{ publishId: number }>): void

注册发布设备发现回调监听。

需要权限:ohos.permission.ACCESS_SERVICE_DM,仅系统应用可用。

系统能力:SystemCapability.DistributedHardware.DeviceManager

参数:

参数名 类型 必填 说明
type string 注册发布设备成功回调,以便将发布成功时通知应用程序。
callback Callback<{ publishId: number }> 注册设备发布成功的回调方法。

示例:

try {
  dmInstance.on('publishSuccess', (data) => {
    console.info("publishSuccess:" + JSON.stringify(data));
  });
} catch (err) {
  console.error("publishSuccess errCode:" + err.code + ",errMessage:" + err.message);
}
1
2
3
4
5
6
7

off('publishSuccess')9+

off(type: 'publishSuccess', callback?: Callback<{ publishId: number }>): void

取消注册设备发布成功回调。

需要权限:ohos.permission.ACCESS_SERVICE_DM,仅系统应用可用。

系统能力:SystemCapability.DistributedHardware.DeviceManager

参数:

参数名 类型 必填 说明
type string 取消注册设备发布成功回调。
callback Callback<{ publishId: number }> 指示要取消注册的设备发布成功回调。

示例:

try {
  dmInstance.off('publishSuccess', (data) => {
    console.info('publishSuccess' + JSON.stringify(data));
  });
} catch (err) {
  console.error("publishSuccess errCode:" + err.code + ",errMessage:" + err.message);
}
1
2
3
4
5
6
7

on('publishFail')9+

on(type: 'publishFail', callback: Callback<{ publishId: number, reason: number }>): void

注册设备发布失败回调监听。

需要权限:ohos.permission.ACCESS_SERVICE_DM,仅系统应用可用。

系统能力:SystemCapability.DistributedHardware.DeviceManager

参数:

参数名 类型 必填 说明
type string 注册设备发布失败回调,以便在发布设备失败时通知应用程序。
callback Callback<{ publishId: number, reason: number }> 注册设备发布失败的回调方法。

示例:

try {
  dmInstance.on('publishFail', (data) => {
    console.info("publishFail on:" + JSON.stringify(data));
  });
} catch (err) {
  console.error("publishFail errCode:" + err.code + ",errMessage:" + err.message);
}
1
2
3
4
5
6
7

off('publishFail')9+

off(type: 'publishFail', callback?: Callback<{ publishId: number, reason: number }>): void

取消注册设备发布失败回调。

需要权限:ohos.permission.ACCESS_SERVICE_DM,仅系统应用可用。

系统能力:SystemCapability.DistributedHardware.DeviceManager

参数:

参数名 类型 必填 说明
type string 取消注册设备发布失败回调。
callback Callback<{ publishId: number, reason: number }> 指示要取消注册设备发布失败回调。

示例:

try {
  dmInstance.off('publishFail', (data) => {
    console.info('publishFail' + JSON.stringify(data));
  });
} catch (err) {
  console.error("publishFail errCode:" + err.code + ",errMessage:" + err.message);
}
1
2
3
4
5
6
7

on('serviceDie')

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

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

需要权限:ohos.permission.ACCESS_SERVICE_DM,仅系统应用可用。

系统能力:SystemCapability.DistributedHardware.DeviceManager

参数:

参数名 类型 必填 说明
type string 注册serviceDie回调,以便在devicemanager服务异常终止时通知应用程序。
callback () => void 注册serviceDie的回调方法。

示例:

try {
  dmInstance.on("serviceDie", () => {
    console.info("serviceDie on");
  });
} catch (err) {
  console.error("serviceDie errCode:" + err.code + ",errMessage:" + err.message);
}
1
2
3
4
5
6
7

off('serviceDie')

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

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

需要权限:ohos.permission.ACCESS_SERVICE_DM,仅系统应用可用。

系统能力:SystemCapability.DistributedHardware.DeviceManager

参数:

参数名 类型 必填 说明
type string 取消注册serviceDie回调,以便在devicemanager服务异常终止时通知应用程序。
callback () => void 取消注册serviceDie的回调方法。

示例:

try {
  dmInstance.off("serviceDie", () => {
    console.info("serviceDie off");
  });
} catch (err) {
  console.error("serviceDie errCode:" + err.code + ",errMessage:" + err.message);
}
1
2
3
4
5
6
7