js-apis-device-manager.md 6.2 KB
Newer Older
Z
zengyawen 已提交
1
# 设备管理
Z
zengyawen 已提交
2

Z
zengyawen 已提交
3
> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
4 5
> - 本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
> - 本模块接口为系统接口,三方应用不支持调用。
Z
zengyawen 已提交
6

Z
zengyawen 已提交
7 8

## 导入模块
Z
zengyawen 已提交
9 10 11 12 13 14

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


Z
zengyawen 已提交
15 16 17
## deviceManager.createDeviceManager

createDeviceManager(bundleName: string, callback: AsyncCallback<DeviceManager>): void
Z
zengyawen 已提交
18 19

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

**系统能力**:SystemCapability.DistributedHardware.DeviceManager

Z
zengyawen 已提交
23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
- 参数:
  | 参数名 | 类型 | 必填 | 说明 |
  | -------- | -------- | -------- | -------- |
  | bundleName | string | 是 | 指示应用程序的包名。 |
  | callback | AsyncCallback<[DeviceManager](#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;
  });
  ```

Z
zengyawen 已提交
41

Z
zengyawen 已提交
42
## DeviceStateChangeAction
Z
zengyawen 已提交
43 44 45

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

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

Z
zengyawen 已提交
48 49 50 51 52 53 54 55 56
| 名称 | 默认值 | 说明 |
| -------- | -------- | -------- |
| ONLINE | 0 | 设备上线。 |
| READY | 1 | 设备就绪,设备信息同步已完成。 |
| OFFLINE | 2 | 设备下线。 |
| CHANGE | 3 | 设备信息更改。 |


## DeviceType
Z
zengyawen 已提交
57 58 59

表示设备类型的枚举类。

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

Z
zengyawen 已提交
62 63 64 65 66 67 68
| 名称 | 默认值 | 说明 |
| -------- | -------- | -------- |
| SPEAKER | 0x0A | 智能音箱 |
| PHONE | 0x0E | 手机 |
| TABLET | 0x11 | 平板 |
| WEARABLE | 0x6D | 智能穿戴 |
| TV | 0x9C | 智慧屏 |
69 70 71
| CAR | 0x83 | 车 |
| UNKNOWN_TYPE | 0 | 未知设备 |

Z
zengyawen 已提交
72 73

## DeviceInfo
Z
zengyawen 已提交
74 75 76

设备信息。

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

Z
zengyawen 已提交
79 80 81 82 83 84 85 86
| 名称 | 类型 | 必填 | 描述 |
| -------- | -------- | -------- | -------- |
| deviceId | number | 是 | 设备的唯一标识。 |
| deviceName | string | 是 | 设备名称。 |
| deviceType | number | 是 | 设备类型。 |


## DeviceManager
Z
zengyawen 已提交
87 88 89 90

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


Z
zengyawen 已提交
91
### release
Z
zengyawen 已提交
92

Z
zengyawen 已提交
93
release(): void
Z
zengyawen 已提交
94

Z
zengyawen 已提交
95
设备管理实例不再使用后,通过该方法释放DeviceManager实例。
Z
zengyawen 已提交
96

97 98
**系统能力**:SystemCapability.DistributedHardware.DeviceManager

Z
zengyawen 已提交
99 100 101 102
- 示例:
  ```
  dmInstance.release();
  ```
Z
zengyawen 已提交
103 104


Z
zengyawen 已提交
105
### getTrustedDeviceListSync
Z
zengyawen 已提交
106

Z
zengyawen 已提交
107
getTrustedDeviceListSync(): Array<DeviceInfo>
Z
zengyawen 已提交
108 109 110

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

111 112
**系统能力**:SystemCapability.DistributedHardware.DeviceManager

Z
zengyawen 已提交
113 114 115 116 117 118 119 120 121
- 返回值:
  | 名称 | 说明 |
  | -------- | -------- |
  | Array<[DeviceInfo](#deviceinfo)> | 返回可信设备列表。 |

- 示例:
  ```
  var deviceInfoList = dmInstance.getTrustedDeviceListSync();
  ```
Z
zengyawen 已提交
122 123


Z
zengyawen 已提交
124
### on('deviceStateChange')
Z
zengyawen 已提交
125

Z
zengyawen 已提交
126
on(type: 'deviceStateChange',  callback: Callback<{ action: DeviceStateChangeAction, device: DeviceInfo }>): void
Z
zengyawen 已提交
127

Z
zengyawen 已提交
128 129
注册设备状态回调。

130 131
**系统能力**:SystemCapability.DistributedHardware.DeviceManager

Z
zengyawen 已提交
132 133 134 135 136
- 参数:
  | 名称 | 参数类型 | 必填 | 说明 |
  | -------- | -------- | -------- | -------- |
  | type | string | 是 | 注册设备状态回调,固定为deviceStateChange。 |
  | callback | Callback<{ action: [DeviceStateChangeAction](#devicestatechangeaction), device: [DeviceInfo](#deviceinfo) }> | 是 | 指示要注册的设备状态回调,返回设备状态和设备信息。 |
Z
zengyawen 已提交
137

Z
zengyawen 已提交
138 139 140 141 142 143 144
- 示例:
  ```
  dmInstance.on('deviceStateChange', (data) => {      
        console.info("deviceStateChange on:" + JSON.stringify(data));
      }
  );
  ```
Z
zengyawen 已提交
145 146


Z
zengyawen 已提交
147
### off('deviceStateChange')
Z
zengyawen 已提交
148

Z
zengyawen 已提交
149
off(type: 'deviceStateChange', callback?: Call	back<{ action: DeviceStateChangeAction, device: DeviceInfo }>): void
Z
zengyawen 已提交
150 151 152

取消注册设备状态回调。

153 154
**系统能力**:SystemCapability.DistributedHardware.DeviceManager

Z
zengyawen 已提交
155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172
- 参数:
  | 名称 | 参数类型 | 必填 | 说明 |
  | -------- | -------- | -------- | -------- |
  | type | string | 是 | 根据应用程序的包名取消注册设备状态回调。 |
  | callback | Callback<{ action: [DeviceStateChangeAction](#devicestatechangeaction), device: [DeviceInfo](#deviceinfo)  }> | 是 | 指示要取消注册的设备状态回调,返回设备状态和设备信息。 |

- 示例:
  ```
  dmInstance.off('deviceStateChange', (data) => {      
        console.info('deviceStateChange' + JSON.stringify(data));
     }
  );
  ```


### on('serviceDie')

on(type: 'serviceDie', callback: () => void): void
Z
zengyawen 已提交
173 174 175

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

176 177
**系统能力**:SystemCapability.DistributedHardware.DeviceManager

Z
zengyawen 已提交
178 179 180 181 182
- 参数:
  | 名称 | 参数类型 | 必填 | 说明 |
  | -------- | -------- | -------- | -------- |
  | type | string | 是 | 注册serviceDie回调,以便在devicemanager服务异常终止时通知应用程序。 |
  | callback | () => void | 是 | 注册serviceDie的回调方法。 |
Z
zengyawen 已提交
183

Z
zengyawen 已提交
184 185 186 187 188 189 190
- 示例:
  ```
  dmInstance.on("serviceDie", () => {      
        console.info("serviceDie on");
     }
  );
  ```
Z
zengyawen 已提交
191 192


Z
zengyawen 已提交
193 194 195 196 197
### off('serviceDie')

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

取消注册设备管理服务死亡监听。
Z
zengyawen 已提交
198

199 200
**系统能力**:SystemCapability.DistributedHardware.DeviceManager

Z
zengyawen 已提交
201 202 203 204 205 206 207 208 209 210 211 212 213
- 参数:
  | 名称 | 参数类型 | 必填 | 说明 |
  | -------- | -------- | -------- | -------- |
  | type | string | 是 | 取消注册serviceDie回调,以便在devicemanager服务异常终止时通知应用程序。 |
  | callback | () => void | 否 | 取消注册serviceDie的回调方法。 |

- 示例:
  ```
  dmInstance.off("serviceDie", () => {      
        console.info("serviceDie off");
    }
  );
  ```