@ohos.distributedDeviceManager (设备管理)(系统接口)

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

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

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

说明:

本模块首批接口从API version 10开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。当前页面仅包含本模块的系统接口,其他公开接口参见@ohos.distributedDeviceManager (设备管理)

导入模块

import { distributedDeviceManager } from '@kit.DistributedServiceKit';

StrategyForHeartbeat15+

表示心跳广播策略。

系统能力:SystemCapability.DistributedHardware.DeviceManager

系统API: 此接口为系统接口。

名称 说明
TEMP_STOP_HEARTBEAT 100 临时停止心跳广播,超时后自动恢复。
START_HEARTBEAT 101 开始心跳广播。

DeviceManager

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

replyUiAction

replyUiAction(action: number, actionResult: string): void;

回复用户UI操作行为。此接口只能被devicemanager的PIN码hap使用。

需要权限:ohos.permission.ACCESS_SERVICE_DM

系统能力:SystemCapability.DistributedHardware.DeviceManager

系统API: 此接口为系统接口。

参数:

参数名 类型 必填 说明
action number 用户操作动作。
-0:允许授权。
-1:取消授权。
-2:授权框用户操作超时。
-3:取消pin码框展示。
-4:取消pin码输入框展示。
-5:pin码输入框确定操作。
actionResult string 表示用户操作结果,最大长度256字符。

错误码:

以下的错误码的详细介绍请参见通用错误码

错误码ID 错误信息
201 Permission verification failed. The application does not have the permission required to call the API.
202 Permission verification failed. A non-system application calls a system API.
401 Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter type; 3. Parameter verification failed; 4. The size of specified actionResult is greater than 255.

示例:

示例中dmInstance的初始化请参见创建一个设备管理实例

import { BusinessError } from '@kit.BasicServicesKit';

try {
  /*
    action = 0 - 允许授权
    action = 1 - 取消授权
    action = 2 - 授权框用户操作超时
    action = 3 - 取消pin码框展示
    action = 4 - 取消pin码输入框展示
    action = 5 - pin码输入框确定操作
  */
  let operation = 0;
  dmInstance.replyUiAction(operation, 'extra');
} catch (err) {
  let e: BusinessError = err as BusinessError;
  console.error('replyUiAction errCode:' + e.code + ',errMessage:' + e.message);
}

on('replyResult')

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

回复UI操作结果回调。

需要权限:ohos.permission.ACCESS_SERVICE_DM

系统能力:SystemCapability.DistributedHardware.DeviceManager

系统API: 此接口为系统接口。

参数:

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

错误码:

以下的错误码的详细介绍请参见通用错误码

错误码ID 错误信息
202 Permission verification failed. A non-system application calls a system API.
401 Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter type; 3. Parameter verification failed; 4. The size of specified type is greater than 255.

示例:

示例中dmInstance的初始化请参见创建一个设备管理实例

import { BusinessError } from '@kit.BasicServicesKit';

class Data {
  param: string = '';
}

interface TmpStr {
  verifyFailed: boolean;
}

try {
  dmInstance.on('replyResult', (data: Data) => {
    console.log('replyResult executed, dialog closed' + JSON.stringify(data));
    let tmpStr: TmpStr = JSON.parse(data.param);
    let isShow = tmpStr.verifyFailed;
    console.log('replyResult executed, dialog closed' + isShow);
  });
} catch (err) {
  let e: BusinessError = err as BusinessError;
  console.error('replyResult errCode:' + e.code + ',errMessage:' + e.message);
}

off('replyResult')

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

取消回复UI操作结果回调。

需要权限:ohos.permission.ACCESS_SERVICE_DM

系统能力:SystemCapability.DistributedHardware.DeviceManager

系统API: 此接口为系统接口。

参数:

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

错误码:

以下的错误码的详细介绍请参见通用错误码

错误码ID 错误信息
202 Permission verification failed. A non-system application calls a system API.
401 Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter type; 3. Parameter verification failed; 4. The size of specified type is greater than 255.

示例:

示例中dmInstance的初始化请参见创建一个设备管理实例

import { BusinessError } from '@kit.BasicServicesKit';

try {
  dmInstance.off('replyResult');
} catch (err) {
  let e: BusinessError = err as BusinessError;
  console.error('replyResult errCode:' + e.code + ',errMessage:' + e.message);
}

setHeartbeatPolicy15+

setHeartbeatPolicy(policy: StrategyForHeartbeat, delayTime: number): void;

设置心跳广播策略。

需要权限:ohos.permission.ACCESS_SERVICE_DM

系统能力:SystemCapability.DistributedHardware.DeviceManager

系统API: 此接口为系统接口。

参数:

参数名 类型 必填 说明
policy  StrategyForHeartbeat  心跳广播策略。
delayTime number 临时关闭心跳广播的时长,单位为:ms,取值范围1000ms到15000ms。

错误码:

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

错误码ID 错误信息
201 Permission verification failed. The application does not have the permission required to call the API.
202 Permission verification failed. A non-system application calls a system API.
401 Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed.
11600102 Failed to obtain service.

示例:

示例中dmInstance的初始化请参见创建一个设备管理实例

import { BusinessError } from '@kit.BasicServicesKit';

try {
  let policy = distributedDeviceManager.StrategyForHeartbeat.TEMP_STOP_HEARTBEAT;
  let delayTime = 1000;
  dmInstance.setHeartbeatPolicy(policy, delayTime);
} catch (err) {
  let e: BusinessError = err as BusinessError;
  console.error('setHeartbeatPolicy errCode:' + e.code + ',errMessage:' + e.message);
}