Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Docs
提交
03eca4e6
D
Docs
项目概览
OpenHarmony
/
Docs
1 年多 前同步成功
通知
159
Star
292
Fork
28
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
Docs
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
03eca4e6
编写于
6月 25, 2023
作者:
史
史晓晓
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
【分布式硬件DM】添加北向接口
Signed-off-by:
N
史晓晓
<
shixiaoxiao.30044129@huawei.com
>
上级
ddefa77e
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
1346 addition
and
0 deletion
+1346
-0
zh-cn/application-dev/reference/apis/js-apis-distributed-DeviceManager.md
...n-dev/reference/apis/js-apis-distributed-DeviceManager.md
+1346
-0
未找到文件。
zh-cn/application-dev/reference/apis/js-apis-distributed-DeviceManager.md
0 → 100644
浏览文件 @
03eca4e6
# @ohos.distributedDeviceManager (设备管理)
本模块提供分布式设备管理能力。
应用可调用接口实现如下功能:
-
注册和解除注册设备上下线变化监听
-
发现周边不可信设备
-
认证和取消认证设备
-
查询可信设备列表
-
查询本地设备信息,包括设备名称,设备类型和设备标识
系统应用可调用接口实现如下功能:
-
发布设备发现
> **说明:**
>
> - 本模块首批接口从API version 10开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
## 导入模块
```
js
import
deviceManager
from
'
@ohos.distributedDeviceManager
'
;
```
## deviceManager.createDeviceManager<sup>10+</sup>
createDeviceManager(bundleName: string, callback: AsyncCallback
<
DeviceManager
>
): void
创建一个设备管理器实例。
**系统能力**
:以下各项对应的系统能力均为SystemCapability.DistributedHardware.DeviceManager
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ---------- | ---------------------------------------------------- | ---- | ----------------------------------------------------------- |
| bundleName | string | 是 | 指示应用程序的Bundle名称。 |
| callback | AsyncCallback
<
[DeviceManager](#devicemanager)
>
| 是 | DeviceManager实例创建时调用的回调,返回设备管理器对象实例。 |
**示例:**
```
js
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
);
}
```
## DeviceBasicInfo<sup>10+</sup>
设备信息。
**系统能力**
:以下各项对应的系统能力均为SystemCapability.DistributedHardware.DeviceManager
| 名称 | 类型 | 必填 | 说明 |
| ---------------------- | ------------------------- | ---- | -------- |
| deviceId | string | 是 | 设备的唯一标识。 |
| deviceName | string | 是 | 设备名称。 |
| deviceType | number | 是 | 设备类型。 |
| networkId | string | 是 | 设备网络标识。 |
## DeviceStatusChange<sup>10+</sup>
表示设备状态变化的枚举。
**系统能力**
:以下各项对应的系统能力均为SystemCapability.DistributedHardware.DeviceManager
| 名称 | 值 | 说明 |
| ----------- | ---- | --------------- |
| UNKNOWN | 0 | 设备物理上线,此时状态未知。 |
| AVAILABLE | 1 | 设备可用状态,表示设备间信息已在分布式数据中同步完成, 可以运行分布式业务。 |
| UNAVAILABLE | 2 | 设备物理下线,此时状态未知。 |
## DiscoverMode<sup>10+</sup>
表示发现模式的枚举。
**系统能力**
:以下各项对应的系统能力均为SystemCapability.DistributedHardware.DeviceManager
**系统API**
: 此接口为系统接口。
| 名称 | 值 | 说明 |
| --------------------- | ---- | ----- |
| DISCOVER_MODE_PASSIVE | 0x55 | 被动模式。 |
| DISCOVER_MODE_ACTIVE | 0xAA | 主动模式。 |
## ExchangeFreq <sup>10+</sup>
表示发现频率的枚举。
**系统能力**
:以下各项对应的系统能力均为SystemCapability.DistributedHardware.DeviceManager
**系统API**
: 此接口为系统接口。
| 名称 | 值 | 说明 |
| ---------- | ---- | ----- |
| LOW | 0 | 低频率。 |
| MID | 1 | 中频率。 |
| HIGH | 2 | 高频率。 |
| SUPER_HIGH | 3 | 超高频率。 |
## BindParam<sup>10+</sup>
认证参数。
**系统能力**
:以下各项对应的系统能力均为SystemCapability.DistributedHardware.DeviceManager
| 名称 | 类型 | 必填 | 说明 |
| --------- | -------------------- | ---- | ---------- |
| bindType | number | 是 | 认证类型。 |
| extraInfo | {[key:string]
:
any} | 否 | 认证参数可扩展字段。可选,默认为undefined。 |
## AuthInfo<sup>10+</sup>
认证信息。
**系统能力**
:以下各项对应的系统能力均为SystemCapability.DistributedHardware.DeviceManager
**系统API**
: 此接口为系统接口。
| 名称 | 类型 | 必填 | 说明 |
| --------- | -------------------- | ---- | ---------- |
| authType | number | 是 | 认证类型。 |
| token | number | 是 | 认证Token。 |
| extraInfo | {[key:string]
:
any} | 否 | 认证信息可扩展字段。可选,默认为undefined。 |
## PublishInfo<sup>10+</sup>
发布设备参数
**系统能力**
:以下各项对应的系统能力均为SystemCapability.DistributedHardware.DeviceManager
**系统API**
: 此接口为系统接口。
| 名称 | 类型 | 必填 | 说明 |
| ------------- | --------------------------------- | ---- | ----------------- |
| publishId | number | 是 | 发布设备标识,用于标识不同的发布周期。 |
| mode |
[
DiscoverMode
](
#discovermode
)
| 是 | 发现模式。 |
| freq |
[
ExchangeFreq
](
#exchangefreq
)
| 是 | 发现频率。 |
| ranging | boolean | 是 | 发布的设备是否支持测距能力。 |
## DeviceManager
设备管理实例,用于获取可信设备和本地设备的相关信息。在调用DeviceManager的方法前,需要先通过createDeviceManager构建一个DeviceManager实例dmInstance。
### releaseDeviceManager<sup>10+</sup>
releaseDeviceManager(): void
设备管理实例不再使用后,通过该方法释放DeviceManager实例。
**系统能力**
:SystemCapability.DistributedHardware.DeviceManager
**错误码:**
以下的错误码的详细介绍请参见
[
设备管理错误码
](
../errorcodes/errorcode-device-manager.md
)
| 错误码ID | 错误信息 |
| -------- | --------------------------------------------------------------- |
| 11600101 | Failed to execute the function. |
**示例:**
```
js
try
{
dmInstance
.
releaseDeviceManager
();
}
catch
(
err
)
{
console
.
error
(
"
release device manager errCode:
"
+
err
.
code
+
"
,errMessage:
"
+
err
.
message
);
}
```
### getAvailableDeviceListSync<sup>10+</sup>
getAvailableDeviceListSync(): Array
<
DeviceBasicInfo
>
同步获取所有可信设备列表。
**系统能力**
:SystemCapability.DistributedHardware.DeviceManager
**返回值:**
| 名称 | 说明 |
| ------------------------------------------- | --------- |
| Array
<
[DeviceBasicInfo](#deviceinfo)
>
| 返回可信设备列表。 |
**错误码:**
以下的错误码的详细介绍请参见
[
设备管理错误码
](
../errorcodes/errorcode-device-manager.md
)
| 错误码ID | 错误信息 |
| -------- | --------------------------------------------------------------- |
| 11600101 | Failed to execute the function. |
**示例:**
```
js
try
{
var
deviceInfoList
=
dmInstance
.
getAvailableDeviceListSync
();
}
catch
(
err
)
{
console
.
error
(
"
getAvailableDeviceListSync errCode:
"
+
err
.
code
+
"
,errMessage:
"
+
err
.
message
);
}
```
### getAvailableDeviceList<sup>10+</sup>
getAvailableDeviceList(callback:AsyncCallback
<
Array
<
DeviceBasicInfo
>>
): void
获取所有可信设备列表。使用callback异步回调。
**系统能力**
:SystemCapability.DistributedHardware.DeviceManager
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ---------------------------------------- | ---- | --------------------- |
| callback | AsyncCallback
<
Array
<
[DeviceBasicInfo](#deviceinfo)
>>
| 是 | 获取所有可信设备列表的回调,返回设备信息。 |
**错误码:**
以下的错误码的详细介绍请参见
[
设备管理错误码
](
../errorcodes/errorcode-device-manager.md
)
| 错误码ID | 错误信息 |
| -------- | --------------------------------------------------------------- |
| 11600101 | Failed to execute the function. |
**示例:**
```
js
try
{
dmInstance
.
getAvailableDeviceList
((
err
,
data
)
=>
{
if
(
err
)
{
console
.
error
(
"
getAvailableDeviceList errCode:
"
+
err
.
code
+
"
,errMessage:
"
+
err
.
message
);
return
;
}
console
.
log
(
'
get available device info:
'
+
JSON
.
stringify
(
data
));
});
}
catch
(
err
)
{
console
.
error
(
"
getAvailableDeviceList errCode:
"
+
err
.
code
+
"
,errMessage:
"
+
err
.
message
);
}
```
### getAvailableDeviceList<sup>10+</sup>
getAvailableDeviceList(): Promise
<
Array
<
DeviceBasicInfo
>>
获取所有可信设备列表。使用Promise异步回调。
**系统能力**
:SystemCapability.DistributedHardware.DeviceManager
**返回值:**
| 类型 | 说明 |
| ---------------------------------------------------------- | ---------------------------------- |
| Promise
<
Array
<
[DeviceBasicInfo](#deviceinfo)
>>
| Promise实例,用于获取异步返回结果。 |
**错误码:**
以下的错误码的详细介绍请参见
[
设备管理错误码
](
../errorcodes/errorcode-device-manager.md
)
| 错误码ID | 错误信息 |
| -------- | --------------------------------------------------------------- |
| 11600101 | Failed to execute the function. |
**示例:**
```
js
dmInstance
.
getAvailableDeviceList
().
then
((
data
)
=>
{
console
.
log
(
'
get available device info:
'
+
JSON
.
stringify
(
data
));
}).
catch
((
err
)
=>
{
console
.
error
(
"
getAvailableDeviceList errCode:
"
+
err
.
code
+
"
,errMessage:
"
+
err
.
message
);
});
```
### getLocalDeviceNetworkIdSync<sup>10+</sup>
getLocalDeviceNetworkIdSync(): string
同步获取本地设备网络标识。
**系统能力**
:SystemCapability.DistributedHardware.DeviceManager
**返回值:**
| 名称 | 说明 |
| ------------------------- | ---------------- |
| string | 返回本地设备网络标识。 |
**错误码:**
以下的错误码的详细介绍请参见
[
设备管理错误码
](
../errorcodes/errorcode-device-manager.md
)
| 错误码ID | 错误信息 |
| -------- | --------------------------------------------------------------- |
| 11600101 | Failed to execute the function. |
**示例:**
```
js
try
{
var
deviceNetworkId
=
dmInstance
.
getLocalDeviceNetworkIdSync
();
console
.
log
(
'
local device networkId:
'
+
JSON
.
stringify
(
deviceNetworkId
));
}
catch
(
err
)
{
console
.
error
(
"
getLocalDeviceNetworkIdSync errCode:
"
+
err
.
code
+
"
,errMessage:
"
+
err
.
message
);
}
```
### getLocalDeviceNameSync<sup>10+</sup>
getLocalDeviceNameSync(): string
同步获取本地设备名称。
**系统能力**
:SystemCapability.DistributedHardware.DeviceManager
**返回值:**
| 名称 | 说明 |
| ------------------------- | ---------------- |
| string | 返回本地设备名称。 |
**错误码:**
以下的错误码的详细介绍请参见
[
设备管理错误码
](
../errorcodes/errorcode-device-manager.md
)
| 错误码ID | 错误信息 |
| -------- | --------------------------------------------------------------- |
| 11600101 | Failed to execute the function. |
**示例:**
```
js
try
{
var
deviceName
=
dmInstance
.
getLocalDeviceNameSync
();
console
.
log
(
'
local device name:
'
+
JSON
.
stringify
(
deviceName
));
}
catch
(
err
)
{
console
.
error
(
"
getLocalDeviceNameSync errCode:
"
+
err
.
code
+
"
,errMessage:
"
+
err
.
message
);
}
```
### getLocalDeviceTypeSync<sup>10+</sup>
getLocalDeviceTypeSync(): number
同步获取本地设备类型。
**系统能力**
:SystemCapability.DistributedHardware.DeviceManager
**返回值:**
| 名称 | 说明 |
| ------------------------- | ---------------- |
| number | 返回本地设备类型。 |
**错误码:**
以下的错误码的详细介绍请参见
[
设备管理错误码
](
../errorcodes/errorcode-device-manager.md
)
| 错误码ID | 错误信息 |
| -------- | --------------------------------------------------------------- |
| 11600101 | Failed to execute the function. |
**示例:**
```
js
try
{
var
deviceType
=
dmInstance
.
getLocalDeviceTypeSync
();
console
.
log
(
'
local device type:
'
+
JSON
.
stringify
(
deviceType
));
}
catch
(
err
)
{
console
.
error
(
"
getLocalDeviceTypeSync errCode:
"
+
err
.
code
+
"
,errMessage:
"
+
err
.
message
);
}
```
### getLocalDeviceIdSync<sup>10+</sup>
getLocalDeviceIdSync(): string
同步获取本地设备id。
**系统能力**
:SystemCapability.DistributedHardware.DeviceManager
**返回值:**
| 名称 | 说明 |
| ------------------------- | ---------------- |
| string | 返回本地设备id。 |
**错误码:**
以下的错误码的详细介绍请参见
[
设备管理错误码
](
../errorcodes/errorcode-device-manager.md
)
| 错误码ID | 错误信息 |
| -------- | --------------------------------------------------------------- |
| 11600101 | Failed to execute the function. |
**示例:**
```
js
try
{
var
deviceId
=
dmInstance
.
getLocalDeviceIdSync
();
console
.
log
(
'
local device id:
'
+
JSON
.
stringify
(
deviceId
));
}
catch
(
err
)
{
console
.
error
(
"
getLocalDeviceIdSync errCode:
"
+
err
.
code
+
"
,errMessage:
"
+
err
.
message
);
}
```
### getDeviceNameSync<sup>10+</sup>
getDeviceNameSync(networkId: string): string;
通过指定设备的网络标识同步获取该设备名称。
**系统能力**
:SystemCapability.DistributedHardware.DeviceManager
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ---------------------------------------- | ---- | --------- |
| networkId| string | 是 | 设备的网络标识。 |
**返回值:**
| 名称 | 说明 |
| ------------------------- | ---------------- |
| string | 返回指定设备名称。 |
**错误码:**
以下的错误码的详细介绍请参见
[
设备管理错误码
](
../errorcodes/errorcode-device-manager.md
)
| 错误码ID | 错误信息 |
| -------- | --------------------------------------------------------------- |
| 11600101 | Failed to execute the function. |
**示例:**
```
js
try
{
// 设备网络标识,可以从可信设备列表中获取
let
networkId
=
"
xxxxxxx
"
var
deviceName
=
dmInstance
.
getDeviceNameSync
(
networkId
);
console
.
log
(
'
device name:
'
+
JSON
.
stringify
(
deviceName
));
}
catch
(
err
)
{
console
.
error
(
"
getDeviceName errCode:
"
+
err
.
code
+
"
,errMessage:
"
+
err
.
message
);
}
```
### getDeviceTypeSync<sup>10+</sup>
getDeviceTypeSync(networkId: string): number;
通过指定设备的网络标识同步获取该设备类型。
**系统能力**
:SystemCapability.DistributedHardware.DeviceManager
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ---------------------------------------- | ---- | --------- |
| networkId| string | 是 | 设备的网络标识。 |
**返回值:**
| 名称 | 说明 |
| ------------------------- | ---------------- |
| number | 返回指定设备类型。 |
**错误码:**
以下的错误码的详细介绍请参见
[
设备管理错误码
](
../errorcodes/errorcode-device-manager.md
)
| 错误码ID | 错误信息 |
| -------- | --------------------------------------------------------------- |
| 11600101 | Failed to execute the function. |
**示例:**
```
js
try
{
// 设备网络标识,可以从可信设备列表中获取
let
networkId
=
"
xxxxxxx
"
var
deviceType
=
dmInstance
.
getDeviceTypeSync
(
networkId
);
console
.
log
(
'
device type:
'
+
JSON
.
stringify
(
deviceType
));
}
catch
(
err
)
{
console
.
error
(
"
getDeviceType errCode:
"
+
err
.
code
+
"
,errMessage:
"
+
err
.
message
);
}
```
### startDeviceDiscovery<sup>10+</sup>
startDeviceDiscovery(subscribeId: number, filterOptions?: string): void;
发现周边设备。发现状态持续两分钟,超过两分钟,会停止发现,最大发现数量99个。
**系统能力**
:SystemCapability.DistributedHardware.DeviceManager
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------------- | ------------------------------- | ---- | ----- |
| subscribeId | number | 是 | 发现标识。 |
| filterOptions | string | 否 | 发现设备过滤信息。可选,默认为undefined,发现未上线设备。|
**错误码:**
以下的错误码的详细介绍请参见
[
设备管理错误码
](
../errorcodes/errorcode-device-manager.md
)
| 错误码ID | 错误信息 |
| -------- | --------------------------------------------------------------- |
| 11600101 | Failed to execute the function. |
| 11600104 | Discovery invalid. |
**示例:**
```
js
// 生成发现标识,随机数确保每次调用发现接口的标识不一致
var
subscribeId
=
Math
.
floor
(
Math
.
random
()
*
10000
+
1000
);
var
filterOptions
=
{
"
filter_op
"
:
"
OR
"
,
// 可选, 默认"OR"
"
filters
"
:
[
{
"
type
"
:
"
range
"
,
"
value
"
:
50
// 需过滤发现设备的距离,单位(cm)
}
]
};
try
{
dmInstance
.
startDeviceDiscovery
(
subscribeId
,
filterOptions
);
// 当有设备发现时,通过deviceFound回调通知给应用程序
}
catch
(
err
)
{
console
.
error
(
"
startDeviceDiscovery errCode:
"
+
err
.
code
+
"
,errMessage:
"
+
err
.
message
);
}
```
### stopDeviceDiscovery<sup>10+</sup>
stopDeviceDiscovery(subscribeId: number): void
停止发现周边设备。
**系统能力**
:SystemCapability.DistributedHardware.DeviceManager
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ----------- | ------ | ---- | ----- |
| subscribeId | number | 是 | 发现标识。 |
**错误码:**
以下的错误码的详细介绍请参见
[
设备管理错误码
](
../errorcodes/errorcode-device-manager.md
)
| 错误码ID | 错误信息 |
| -------- | --------------------------------------------------------------- |
| 11600101 | Failed to execute the function. |
**示例:**
```
js
try
{
// stopDeviceDiscovery和startDeviceDiscovery需配对使用,入参需要和startDeviceDiscovery接口传入的subscribeId值相等
var
subscribeId
=
12345
;
dmInstance
.
stopDeviceDiscovery
(
subscribeId
);
}
catch
(
err
)
{
console
.
error
(
"
stopDeviceDiscovery errCode:
"
+
err
.
code
+
"
,errMessage:
"
+
err
.
message
);
}
```
### publishDeviceDiscovery<sup>10+</sup>
publishDeviceDiscovery(publishInfo: PublishInfo): void
发布设备发现。发布状态持续两分钟,超过两分钟会停止发布。
**系统能力**
:SystemCapability.DistributedHardware.DeviceManager
**系统API**
: 此接口为系统接口。
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------------- | ------------------------------- | ---- | ----- |
| publishInfo |
[
PublishInfo
](
#publishinfo
)
| 是 | 发布设备发现信息。 |
**错误码:**
以下的错误码的详细介绍请参见
[
设备管理错误码
](
../errorcodes/errorcode-device-manager.md
)
| 错误码ID | 错误信息 |
| -------- | --------------------------------------------------------------- |
| 11600101 | Failed to execute the function. |
| 11600105 | Publish invalid. |
**示例:**
```
js
// 生成发布标识,随机数确保每次调用发布接口的标识不一致
var
publishId
=
Math
.
floor
(
Math
.
random
()
*
10000
+
1000
);
var
publishInfo
=
{
"
publishId
"
:
publishId
,
"
mode
"
:
0xAA
,
// 主动模式
"
freq
"
:
2
,
// 高频率
"
ranging
"
:
true
// 支持发现时测距
};
try
{
dmInstance
.
publishDeviceDiscovery
(
publishInfo
);
// 当有发布结果时,通过回调通知给应用程序
}
catch
(
err
)
{
console
.
error
(
"
publishDeviceDiscovery errCode:
"
+
err
.
code
+
"
,errMessage:
"
+
err
.
message
);
}
```
### unPublishDeviceDiscovery<sup>10+</sup>
unPublishDeviceDiscovery(publishId: number): void
停止发布设备发现。
**系统能力**
:SystemCapability.DistributedHardware.DeviceManager
**系统API**
: 此接口为系统接口。
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ----------- | -------- | ---- | ----- |
| publishId | number | 是 | 发布标识。 |
**错误码:**
以下的错误码的详细介绍请参见
[
设备管理错误码
](
../errorcodes/errorcode-device-manager.md
)
| 错误码ID | 错误信息 |
| -------- | --------------------------------------------------------------- |
| 11600101 | Failed to execute the function. |
**示例:**
```
js
try
{
// unPublishDeviceDiscovery和publishDeviceDiscovery配对使用,入参需要和publishDeviceDiscovery接口传入的publishId值相等
var
publishId
=
12345
;
dmInstance
.
unPublishDeviceDiscovery
(
publishId
);
}
catch
(
err
)
{
console
.
error
(
"
unPublishDeviceDiscovery errCode:
"
+
err
.
code
+
"
,errMessage:
"
+
err
.
message
);
}
```
### bindDevice<sup>10+</sup>
bindDevice(deviceId: string, bindParam: BindParam, callback: AsyncCallback
<
{
deviceId:
string
}
>
): void;
认证设备。
**系统能力**
:SystemCapability.DistributedHardware.DeviceManager
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ---------- | --------------------------------------------------- | ----- | ------------ |
| deviceId | string | 是 | 设备标识。 |
| bindParam |
[
BindParam
](
#bindparam
)
| 是 | 认证参数。 |
| callback | AsyncCallback
<
{deviceId:
string,
}
>
| 是 | 认证结果回调 |
**错误码:**
以下的错误码的详细介绍请参见
[
设备管理错误码
](
../errorcodes/errorcode-device-manager.md
)
| 错误码ID | 错误信息 |
| -------- | --------------------------------------------------------------- |
| 11600101 | Failed to execute the function. |
| 11600103 | Bind invalid. |
**示例:**
```
js
// 认证的设备信息,可以从发现的结果中获取
var
deviceId
=
"
XXXXXXXX
"
;
let
extraInfo
=
{
'
targetPkgName
'
:
'
ohos.samples.xxx
'
,
'
appName
'
:
'
xxx
'
,
'
appDescription
'
:
'
xxx
'
,
'
business
'
:
'
0
'
}
let
bindParam
=
{
'
bindType
'
:
1
,
// 认证类型: 1 - 无帐号PIN码认证
'
extraInfo
'
:
extraInfo
}
try
{
dmInstance
.
bindDevice
(
deviceId
,
authParam
,
(
err
,
data
)
=>
{
if
(
err
)
{
console
.
error
(
"
bindDevice errCode:
"
+
err
.
code
+
"
,errMessage:
"
+
err
.
message
);
return
;
}
console
.
info
(
"
bindDevice result:
"
+
JSON
.
stringify
(
data
));
});
}
catch
(
err
)
{
console
.
error
(
"
bindDevice errCode:
"
+
err
.
code
+
"
,errMessage:
"
+
err
.
message
);
}
```
### unbindDevice<sup>10+</sup>
unbindDevice(deviceId: string): void;
解除认证设备。
**系统能力**
:SystemCapability.DistributedHardware.DeviceManager
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------- | ---- | ---------- |
| deviceId | string | 是 | 设备标识。 |
**错误码:**
以下的错误码的详细介绍请参见
[
设备管理错误码
](
../errorcodes/errorcode-device-manager.md
)
| 错误码ID | 错误信息 |
| -------- | --------------------------------------------------------------- |
| 11600101 | Failed to execute the function. |
**示例:**
```
js
try
{
var
deviceId
=
"
XXXXXXXX
"
;
dmInstance
.
unbindDevice
(
deviceId
);
}
catch
(
err
)
{
console
.
error
(
"
unbindDevice errCode:
"
+
err
.
code
+
"
,errMessage:
"
+
err
.
message
);
}
```
### verifyAuthInfo<sup>10+</sup>
verifyAuthInfo(authInfo: AuthInfo, callback: AsyncCallback
<
{deviceId: string, level: number}
>
): void
验证认证信息。
**系统能力**
:SystemCapability.DistributedHardware.DeviceManager
**系统API**
: 此接口为系统接口。
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ---------------------------------------- | ---- | ------- |
| authInfo |
[
AuthInfo
](
#authinfo
)
| 是 | 认证信息。 |
| callback | AsyncCallback
<
{deviceId:
string,
level:
number}
>
| 是 | 验证结果回调。 |
**错误码:**
以下的错误码的详细介绍请参见
[
设备管理错误码
](
../errorcodes/errorcode-device-manager.md
)
| 错误码ID | 错误信息 |
| -------- | --------------------------------------------------------------- |
| 11600101 | Failed to execute the function. |
**示例:**
```
js
let
authInfo
=
{
"
authType
"
:
1
,
"
token
"
:
123456
,
"
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
);
}
```
### setUserOperation<sup>10+</sup>
setUserOperation(operateAction: number, params: string): void;
设置用户ui操作行为。
**系统能力**
:SystemCapability.DistributedHardware.DeviceManager
**系统API**
: 此接口为系统接口。
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------------- | --------------- | ---- | ------------------- |
| operateAction | number | 是 | 用户操作动作。 |
| params | string | 是 | 表示用户的输入参数。 |
**示例:**
```
js
try
{
/*
operateAction = 0 - 允许授权
operateAction = 1 - 取消授权
operateAction = 2 - 授权框用户操作超时
operateAction = 3 - 取消pin码框展示
operateAction = 4 - 取消pin码输入框展示
operateAction = 5 - pin码输入框确定操作
*/
let
operation
=
0
;
dmInstance
.
setUserOperation
(
operation
,
"
extra
"
)
}
catch
(
err
)
{
console
.
error
(
"
setUserOperation errCode:
"
+
err
.
code
+
"
,errMessage:
"
+
err
.
message
);
}
```
### requestCredentialRegisterInfo<sup>10+</sup>
requestCredentialRegisterInfo(requestInfo: string, callback: AsyncCallback
<
{
registerInfo:
string
}
>
): void;
获取凭据的注册信息。
**系统能力**
:SystemCapability.DistributedHardware.DeviceManager
**系统API**
: 此接口为系统接口。
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------------- | --------------- | ---- | ------------------- |
| requestInfo | string | 是 | 请求凭据信息。 |
| callback | AsyncCallback
<
{
registerInfo:
string
}
>
| 是 | 凭据的注册信息回调。 |
**示例:**
```
js
let
credentialInfo
=
{
"
version
"
:
"
1.2.3
"
,
"
userId
"
:
"
123
"
}
try
{
dmInstance
.
requestCredentialRegisterInfo
(
credentialInfo
,
(
data
)
=>
{
if
(
data
)
{
console
.
info
(
"
requestCredentialRegisterInfo result:
"
+
JSON
.
stringify
(
data
));
}
else
{
console
.
info
(
"
requestCredentialRegisterInfo result: data is null
"
);
}
});
}
catch
(
err
)
{
console
.
error
(
"
requestCredentialRegisterInfo err:
"
+
err
.
code
+
"
,
"
+
err
.
message
);
}
```
### importCredential<sup>10+</sup>
importCredential(credentialInfo: string, callback: AsyncCallback
<
{
resultInfo:
string
}
>
): void;
导入凭据信息。
**系统能力**
:SystemCapability.DistributedHardware.DeviceManager
**系统API**
: 此接口为系统接口。
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------------- | --------------- | ---- | ------------------- |
| credentialInfo| string | 是 | 导入凭据信息。 |
| callback | AsyncCallback
<
{
resultInfo:
string
}
>
| 是 | 导入凭据结果回调。 |
**示例:**
```
js
let
credentialInfo
=
{
"
processType
"
:
1
,
"
authType
"
:
1
,
"
userId
"
:
"
123
"
,
"
deviceId
"
:
"
aaa
"
,
"
version
"
:
"
1.2.3
"
,
"
devicePk
"
:
"
0000
"
,
"
credentialData
"
:
[
{
"
credentialType
"
:
2
,
"
credentialId
"
:
"
102
"
,
"
serverPk
"
:
"
3059301306072A8648CE3D020106082A8648CE3D03
"
,
"
pkInfoSignature
"
:
"
30440220490BCB4F822004C9A76AB8D97F80041FC0E
"
,
"
pkInfo
"
:
""
,
"
authCode
"
:
""
,
"
peerDeviceId
"
:
""
}
]
}
try
{
dmInstance
.
importCredential
(
credentialInfo
,
(
data
)
=>
{
if
(
data
)
{
console
.
info
(
"
importCredential result:
"
+
JSON
.
stringify
(
data
));
}
else
{
console
.
info
(
"
importCredential result: data is null
"
);
}
});
}
catch
(
err
)
{
console
.
error
(
"
importCredential err:
"
+
err
.
code
+
"
,
"
+
err
.
message
);
}
```
### deleteCredential<sup>10+</sup>
deleteCredential(queryInfo: string, callback: AsyncCallback
<
{
resultInfo:
string
}
>
): void;
删除凭据信息。
**系统能力**
:SystemCapability.DistributedHardware.DeviceManager
**系统API**
: 此接口为系统接口。
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------------- | --------------- | ---- | ------------------- |
| queryInfo | string | 是 | 删除凭据信息。 |
| callback | AsyncCallback
<
{
resultInfo:
string
}
>
| 是 | 删除凭据结果回调。 |
**示例:**
```
js
let
queryInfo
=
{
"
processType
"
:
1
,
"
authType
"
:
1
,
"
userId
"
:
"
123
"
}
try
{
dmInstance
.
deleteCredential
(
queryInfo
,
(
data
)
=>
{
if
(
data
)
{
console
.
info
(
"
deleteCredential result:
"
+
JSON
.
stringify
(
data
));
}
else
{
console
.
info
(
"
deleteCredential result: data is null
"
);
}
});
}
catch
(
err
)
{
console
.
error
(
"
deleteCredential err:
"
+
err
.
code
+
"
,
"
+
err
.
message
);
}
```
### on('uiStateChange')<sup>10+</sup>
on(type: 'uiStateChange', callback: Callback
<
{ param: string}
>
): void;
ui状态变更回调。
**系统能力**
:SystemCapability.DistributedHardware.DeviceManager
**系统API**
: 此接口为系统接口。
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------------------ | ---- | ------------------------------ |
| type | string | 是 | 注册的设备管理器 ui 状态回调,以便在状态改变时通知应用。 |
| callback | Callback
<
{
param:
string}
>
| 是 | 指示要注册的设备管理器 ui 状态回调,返回ui状态。 |
**示例:**
```
js
try
{
dmInstance
.
on
(
'
uiStateChange
'
,
(
data
)
=>
{
console
.
log
(
"
uiStateChange executed, dialog closed
"
+
JSON
.
stringify
(
data
))
var
tmpStr
=
JSON
.
parse
(
data
.
param
)
var
isShow
=
tmpStr
.
verifyFailed
console
.
log
(
"
uiStateChange executed, dialog closed
"
+
isShow
)
});
}
catch
(
err
)
{
console
.
error
(
"
uiStateChange errCode:
"
+
err
.
code
+
"
,errMessage:
"
+
err
.
message
);
}
```
### off('uiStateChange')<sup>10+</sup>
off(type: 'uiStateChange', callback?: Callback
<
{ param: string}
>
): void;
取消ui状态变更回调。
**系统能力**
:SystemCapability.DistributedHardware.DeviceManager
**系统API**
: 此接口为系统接口。
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------------------- | ---- | ------------------------------ |
| type | string | 是 | 取消注册的设备管理器 ui 状态回调。 |
| callback | Callback
<
{
param:
string}
>
| 否 | 指示要取消注册的设备管理器 ui 状态,返回UI状态。 |
**示例:**
```
js
try
{
dmInstance
.
off
(
'
uiStateChange
'
);
}
catch
(
err
)
{
console
.
error
(
"
uiStateChange errCode:
"
+
err
.
code
+
"
,errMessage:
"
+
err
.
message
);
}
```
### on('deviceStatusChange')<sup>10+</sup>
on(type: 'deviceStatusChange', callback: Callback
<
{
action:
DeviceStatusChange
,
device:
DeviceBasicInfo
}
>
): void;
注册设备状态回调。
**系统能力**
:SystemCapability.DistributedHardware.DeviceManager
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ---------------------------------------- | ---- | ------------------------------ |
| type | string | 是 | 注册设备状态回调,固定为deviceStateChange。 |
| callback | Callback
<
{
action:
[DeviceStatusChange](#devicestatuschange),
device:
[DeviceBasicInfo](#devicebasicinfo)
}
>
| 是 | 指示要注册的设备状态回调,返回设备状态和设备信息。 |
**示例:**
```
js
try
{
dmInstance
.
on
(
'
deviceStatusChange
'
,
(
data
)
=>
{
console
.
info
(
"
deviceStatusChange on:
"
+
JSON
.
stringify
(
data
));
});
}
catch
(
err
)
{
console
.
error
(
"
deviceStatusChange errCode:
"
+
err
.
code
+
"
,errMessage:
"
+
err
.
message
);
}
```
### off('deviceStatusChange')<sup>10+</sup>
off(type: 'deviceStatusChange', callback?: Callback
<
{
action:
DeviceStatusChange
,
device:
DeviceBasicInfo
}
>
): void;
取消注册设备状态回调。
**系统能力**
:SystemCapability.DistributedHardware.DeviceManager
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ---------------------------------------- | ---- | --------------------------- |
| type | string | 是 | 根据应用程序的包名取消注册设备状态回调。 |
| callback | Callback
<
{
action:
[DeviceStatusChange](#devicestatuschange),
device:
[DeviceBasicInfo](#devicebasicinfo)
}
>
| 否 | 指示要取消注册的设备状态回调,返回设备状态和设备信息。 |
**示例:**
```
js
try
{
dmInstance
.
off
(
'
deviceStatusChange
'
,
(
data
)
=>
{
console
.
info
(
'
deviceStatusChange
'
+
JSON
.
stringify
(
data
));
});
}
catch
(
err
)
{
console
.
error
(
"
deviceStatusChange errCode:
"
+
err
.
code
+
"
,errMessage:
"
+
err
.
message
);
}
```
### on('discoverSuccess')<sup>10+</sup>
on(type: 'discoverSuccess', callback: Callback
<
{
subscribeId:
number
,
device:
DeviceBasicInfo
}
>
): void;
注册发现设备成功回调监听。
**系统能力**
:SystemCapability.DistributedHardware.DeviceManager
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ---------------------------------------- | ---- | -------------------------- |
| type | string | 是 | 注册设备发现回调,以便在发现周边设备时通知应用程序。 |
| callback | Callback
<
{
subscribeId:
number,
device:
[DeviceBasicInfo](#devicebasicinfo)
}
>
| 是 | 注册设备发现的回调方法。 |
**示例:**
```
js
try
{
dmInstance
.
on
(
'
discoverSuccess
'
,
(
data
)
=>
{
console
.
info
(
"
discoverSuccess:
"
+
JSON
.
stringify
(
data
));
});
}
catch
(
err
)
{
console
.
error
(
"
discoverSuccess errCode:
"
+
err
.
code
+
"
,errMessage:
"
+
err
.
message
);
}
```
### off('discoverSuccess')<sup>10+</sup>
off(type: 'discoverSuccess', callback?: Callback
<
{
subscribeId:
number
,
device:
DeviceBasicInfo
}
>
): void;
取消注册设备发现回调。
**系统能力**
:SystemCapability.DistributedHardware.DeviceManager
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ---------------------------------------- | ---- | --------------------------- |
| type | string | 是 | 取消注册设备发现回调。 |
| callback | Callback
<
{
subscribeId:
number,
device:
[DeviceBasicInfo](#devicebasicinfo)
}
>
| 否 | 指示要取消注册的设备发现回调,返回设备状态和设备信息。 |
**示例:**
```
js
try
{
dmInstance
.
off
(
'
discoverSuccess
'
,
(
data
)
=>
{
console
.
info
(
'
discoverSuccess
'
+
JSON
.
stringify
(
data
));
});
}
catch
(
err
)
{
console
.
error
(
"
discoverSuccess errCode:
"
+
err
.
code
+
"
,errMessage:
"
+
err
.
message
);
}
```
### on('discoverFail')<sup>10+</sup>
on(type: 'discoverFail', callback: Callback
<
{ subscribeId: number, reason: number }
>
): void
注册设备发现失败回调监听。
**系统能力**
:SystemCapability.DistributedHardware.DeviceManager
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ---------------------------------------- | ---- | ------------------------------ |
| type | string | 是 | 注册设备发现失败回调,以便在发现周边设备失败时通知应用程序。 |
| callback | Callback
<
{
subscribeId:
number,
reason:
number
}
>
| 是 | 注册设备发现失败的回调方法。 |
**示例:**
```
js
try
{
dmInstance
.
on
(
'
discoverFail
'
,
(
data
)
=>
{
console
.
info
(
"
discoverFail on:
"
+
JSON
.
stringify
(
data
));
});
}
catch
(
err
)
{
console
.
error
(
"
discoverFail errCode:
"
+
err
.
code
+
"
,errMessage:
"
+
err
.
message
);
}
```
### off('discoverFail')<sup>10+</sup>
off(type: 'discoverFail', callback?: Callback
<
{ subscribeId: number, reason: number }
>
): void
取消注册设备发现失败回调。
**系统能力**
:SystemCapability.DistributedHardware.DeviceManager
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ---------------------------------------- | ---- | ----------------- |
| type | string | 是 | 取消注册设备发现失败回调。 |
| callback | Callback
<
{
subscribeId:
number,
reason:
number
}
>
| 否 | 指示要取消注册的设备发现失败回调。 |
**示例:**
```
js
try
{
dmInstance
.
off
(
'
discoverFail
'
,
(
data
)
=>
{
console
.
info
(
'
discoverFail
'
+
JSON
.
stringify
(
data
));
});
}
catch
(
err
)
{
console
.
error
(
"
discoverFail errCode:
"
+
err
.
code
+
"
,errMessage:
"
+
err
.
message
);
}
```
### on('publishSuccess')<sup>10+</sup>
on(type: 'publishSuccess', callback: Callback
<
{ publishId: number }
>
): void
注册发布设备发现回调监听。
**系统能力**
:SystemCapability.DistributedHardware.DeviceManager
**系统API**
: 此接口为系统接口。
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ---------------------------------------- | ---- | -------------------------- |
| type | string | 是 | 注册发布设备成功回调,以便将发布成功时通知应用程序。 |
| callback | Callback
<
{
publishId:
number
}
>
| 是 | 注册设备发布成功的回调方法。 |
**示例:**
```
js
try
{
dmInstance
.
on
(
'
publishSuccess
'
,
(
data
)
=>
{
console
.
info
(
"
publishSuccess:
"
+
JSON
.
stringify
(
data
));
});
}
catch
(
err
)
{
console
.
error
(
"
publishSuccess errCode:
"
+
err
.
code
+
"
,errMessage:
"
+
err
.
message
);
}
```
### off('publishSuccess')<sup>10+</sup>
off(type: 'publishSuccess', callback?: Callback
<
{ publishId: number }
>
): void
取消注册设备发布成功回调。
**系统能力**
:SystemCapability.DistributedHardware.DeviceManager
**系统API**
: 此接口为系统接口。
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ---------------------------------------- | ---- | --------------------------- |
| type | string | 是 | 取消注册设备发布成功回调。 |
| callback | Callback
<
{
publishId:
number
}
>
| 否 | 指示要取消注册的设备发布成功回调。 |
**示例:**
```
js
try
{
dmInstance
.
off
(
'
publishSuccess
'
,
(
data
)
=>
{
console
.
info
(
'
publishSuccess
'
+
JSON
.
stringify
(
data
));
});
}
catch
(
err
)
{
console
.
error
(
"
publishSuccess errCode:
"
+
err
.
code
+
"
,errMessage:
"
+
err
.
message
);
}
```
### on('publishFail')<sup>10+</sup>
on(type: 'publishFail', callback: Callback
<
{ publishId: number, reason: number }
>
): void
注册设备发布失败回调监听。
**系统能力**
:SystemCapability.DistributedHardware.DeviceManager
**系统API**
: 此接口为系统接口。
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ----------------------------------------------------- | ---- | ------------------------------ |
| type | string | 是 | 注册设备发布失败回调,以便在发布设备失败时通知应用程序。 |
| callback | Callback
<
{
publishId:
number,
reason:
number
}
>
| 是 | 注册设备发布失败的回调方法。 |
**示例:**
```
js
try
{
dmInstance
.
on
(
'
publishFail
'
,
(
data
)
=>
{
console
.
info
(
"
publishFail on:
"
+
JSON
.
stringify
(
data
));
});
}
catch
(
err
)
{
console
.
error
(
"
publishFail errCode:
"
+
err
.
code
+
"
,errMessage:
"
+
err
.
message
);
}
```
### off('publishFail')<sup>10+</sup>
off(type: 'publishFail', callback?: Callback
<
{ publishId: number, reason: number }
>
): void
取消注册设备发布失败回调。
**系统能力**
:SystemCapability.DistributedHardware.DeviceManager
**系统API**
: 此接口为系统接口。
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ----------------------------------------------------- | ---- | ----------------- |
| type | string | 是 | 取消注册设备发布失败回调。 |
| callback | Callback
<
{
publishId:
number,
reason:
number
}
>
| 否 | 指示要取消注册设备发布失败回调。 |
**示例:**
```
js
try
{
dmInstance
.
off
(
'
publishFail
'
,
(
data
)
=>
{
console
.
info
(
'
publishFail
'
+
JSON
.
stringify
(
data
));
});
}
catch
(
err
)
{
console
.
error
(
"
publishFail errCode:
"
+
err
.
code
+
"
,errMessage:
"
+
err
.
message
);
}
```
### on('serviceDie')<sup>10+</sup>
on(type: 'serviceDie', callback: () =
>
void): void
注册设备管理服务死亡监听。
**系统能力**
:SystemCapability.DistributedHardware.DeviceManager
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ----------------------- | ---- | ---------------------------------------- |
| type | string | 是 | 注册serviceDie回调,以便在devicemanager服务异常终止时通知应用程序。 |
| callback | ()
=
>
void | 是 | 注册serviceDie的回调方法。 |
**示例:**
```
js
try
{
dmInstance
.
on
(
"
serviceDie
"
,
()
=>
{
console
.
info
(
"
serviceDie on
"
);
});
}
catch
(
err
)
{
console
.
error
(
"
serviceDie errCode:
"
+
err
.
code
+
"
,errMessage:
"
+
err
.
message
);
}
```
### off('serviceDie')<sup>10+</sup>
off(type: 'serviceDie', callback?: () =
>
void): void
取消注册设备管理服务死亡监听。
**系统能力**
:SystemCapability.DistributedHardware.DeviceManager
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ----------------------- | ---- | ---------------------------------------- |
| type | string | 是 | 取消注册serviceDie回调,以便在devicemanager服务异常终止时通知应用程序。 |
| callback | ()
=
>
void | 否 | 取消注册serviceDie的回调方法。 |
**示例:**
```
js
try
{
dmInstance
.
off
(
"
serviceDie
"
,
()
=>
{
console
.
info
(
"
serviceDie off
"
);
});
}
catch
(
err
)
{
console
.
error
(
"
serviceDie errCode:
"
+
err
.
code
+
"
,errMessage:
"
+
err
.
message
);
}
```
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录