• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# @ohos.enterprise.bluetoothManager (Bluetooth Management)
2
3The **bluetoothManager** module provides Bluetooth management capabilities, including setting and obtaining Bluetooth information.
4
5> **NOTE**
6>
7> The initial APIs of this module are supported since API version 12. Newly added APIs will be marked with a superscript to indicate their earliest API version.
8>
9> The APIs of this module can be used only in the stage model.
10>
11> The APIs of this module can be called only by a [device administrator application](../../mdm/mdm-kit-guide.md#introduction) that is enabled.
12>
13> The global restriction policies are provided by **restrictions**. To disable Bluetooth globally, see [@ohos.enterprise.restrictions](js-apis-enterprise-restrictions.md).
14
15## Modules to Import
16
17```ts
18import { bluetoothManager } from '@kit.MDMKit';
19```
20
21## bluetoothManager.getBluetoothInfo
22
23getBluetoothInfo(admin: Want): BluetoothInfo
24
25Obtains device Bluetooth information.
26
27**Required permissions**: ohos.permission.ENTERPRISE_MANAGE_BLUETOOTH
28
29**System capability**: SystemCapability.Customization.EnterpriseDeviceManager
30
31
32
33**Parameters**
34
35| Name| Type                                                   | Mandatory| Description          |
36| ------ | ------------------------------------------------------- | ---- | -------------- |
37| admin  | [Want](../apis-ability-kit/js-apis-app-ability-want.md) | Yes  | EnterpriseAdminExtensionAbility.|
38
39**Return value**
40
41| Type                           | Description                                            |
42| ------------------------------- | ------------------------------------------------ |
43| [BluetoothInfo](#bluetoothinfo) | Bluetooth information, including the Bluetooth name, state, and profile connection state.|
44
45**Error codes**
46
47For details about the error codes, see [Enterprise Device Management Error Codes](errorcode-enterpriseDeviceManager.md) and [Universal Error Codes](../errorcode-universal.md).
48
49| ID| Error Message                                                    |
50| -------- | ------------------------------------------------------------ |
51| 9200001  | The application is not an administrator application of the device. |
52| 9200002  | The administrator application does not have permission to manage the device. |
53| 201      | Permission verification failed. The application does not have the permission required to call the API. |
54| 401      | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
55
56**Example**
57
58```ts
59import { Want } from '@kit.AbilityKit';
60import { bluetoothManager } from '@kit.MDMKit';
61let wantTemp: Want = {
62  bundleName: 'com.example.myapplication',
63  abilityName: 'EntryAbility',
64};
65
66try {
67    let result: bluetoothManager.BluetoothInfo = bluetoothManager.getBluetoothInfo(wantTemp);
68    console.info(`Succeeded in getting bluetooth info: ${JSON.stringify(result)}`);
69} catch(err) {
70    console.error(`Failed to get bluetooth info. Code: ${err.code}, message: ${err.message}`);
71}
72```
73
74## bluetoothManager.addAllowedBluetoothDevices
75
76addAllowedBluetoothDevices(admin: Want, deviceIds: Array\<string>): void
77
78Adds allowed Bluetooth devices. This API should be called before [setDisallowedPolicy](js-apis-enterprise-restrictions.md#restrictionssetdisallowedpolicy), so that Bluetooth can be successfully disabled. Otherwise, a conflict occurs.
79
80**Required permissions**: ohos.permission.ENTERPRISE_MANAGE_BLUETOOTH
81
82**System capability**: SystemCapability.Customization.EnterpriseDeviceManager
83
84
85
86**Parameters**
87
88| Name   | Type                                                   | Mandatory| Description                                               |
89| --------- | ------------------------------------------------------- | ---- | --------------------------------------------------- |
90| admin     | [Want](../apis-ability-kit/js-apis-app-ability-want.md) | Yes  | EnterpriseAdminExtensionAbility.                                     |
91| deviceIds | Array\<string>                                          | Yes  | MAC addresses of the Bluetooth devices to add. This array can hold a maximum of 1000 MAC addresses.|
92
93**Error codes**
94
95For details about the error codes, see [Enterprise Device Management Error Codes](errorcode-enterpriseDeviceManager.md) and [Universal Error Codes](../errorcode-universal.md).
96
97| ID| Error Message                                                    |
98| -------- | ------------------------------------------------------------ |
99| 9200001  | The application is not an administrator application of the device. |
100| 9200002  | The administrator application does not have permission to manage the device. |
101| 9200010  | A conflict policy has been configured.                       |
102| 201      | Permission verification failed. The application does not have the permission required to call the API. |
103| 401      | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
104
105**Example**
106
107```ts
108import { Want } from '@kit.AbilityKit';
109import { bluetoothManager } from '@kit.MDMKit';
110let wantTemp: Want = {
111  bundleName: 'com.example.myapplication',
112  abilityName: 'EntryAbility',
113};
114let deviceIds: Array<string> = ["00:1A:2B:3C:4D:5E","AA:BB:CC:DD:EE:FF"];
115try {
116    bluetoothManager.addAllowedBluetoothDevices(wantTemp,deviceIds);
117    console.info(`Succeeded in adding allowed bluetooth devices.`);
118} catch(err) {
119    console.error(`Failed to add allowed bluetooth devices. Code: ${err.code}, message: ${err.message}`);
120}
121```
122
123## bluetoothManager.removeAllowedBluetoothDevices
124
125removeAllowedBluetoothDevices(admin: Want, deviceIds: Array\<string>): void
126
127Removes allowed Bluetooth devices.
128
129**Required permissions**: ohos.permission.ENTERPRISE_MANAGE_BLUETOOTH
130
131**System capability**: SystemCapability.Customization.EnterpriseDeviceManager
132
133
134
135**Parameters**
136
137| Name   | Type                                                   | Mandatory| Description                   |
138| --------- | ------------------------------------------------------- | ---- | ----------------------- |
139| admin     | [Want](../apis-ability-kit/js-apis-app-ability-want.md) | Yes  | EnterpriseAdminExtensionAbility.         |
140| deviceIds | Array\<string>                                          | Yes  | MAC addresses of the Bluetooth devices to remove.|
141
142**Error codes**
143
144For details about the error codes, see [Enterprise Device Management Error Codes](errorcode-enterpriseDeviceManager.md) and [Universal Error Codes](../errorcode-universal.md).
145
146| ID| Error Message                                                    |
147| -------- | ------------------------------------------------------------ |
148| 9200001  | The application is not an administrator application of the device. |
149| 9200002  | The administrator application does not have permission to manage the device. |
150| 201      | Permission verification failed. The application does not have the permission required to call the API. |
151| 401      | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
152
153**Example**
154
155```ts
156import { Want } from '@kit.AbilityKit';
157import { bluetoothManager } from '@kit.MDMKit';
158let wantTemp: Want = {
159  bundleName: 'com.example.myapplication',
160  abilityName: 'EntryAbility',
161};
162let deviceIds: Array<string> = ["00:1A:2B:3C:4D:5E","AA:BB:CC:DD:EE:FF"];
163try {
164    bluetoothManager.removeAllowedBluetoothDevices(wantTemp,deviceIds);
165    console.info(`Succeeded in removing allowed bluetooth devices.`);
166} catch(err) {
167    console.error(`Failed to remove allowed bluetooth devices. Code: ${err.code}, message: ${err.message}`);
168}
169```
170
171## bluetoothManager.getAllowedBluetoothDevices
172
173getAllowedBluetoothDevices(admin: Want): Array\<string>
174
175Obtains allowed Bluetooth devices.
176
177**Required permissions**: ohos.permission.ENTERPRISE_MANAGE_BLUETOOTH
178
179**System capability**: SystemCapability.Customization.EnterpriseDeviceManager
180
181
182
183**Parameters**
184
185| Name| Type                                                   | Mandatory| Description          |
186| ------ | ------------------------------------------------------- | ---- | -------------- |
187| admin  | [Want](../apis-ability-kit/js-apis-app-ability-want.md) | Yes  | EnterpriseAdminExtensionAbility.|
188
189**Return value**
190
191| Type          | Description                               |
192| -------------- | ----------------------------------- |
193| Array\<string> | MAC addresses of allowed Bluetooth devices obtained.|
194
195**Error codes**
196
197For details about the error codes, see [Enterprise Device Management Error Codes](errorcode-enterpriseDeviceManager.md) and [Universal Error Codes](../errorcode-universal.md).
198
199| ID| Error Message                                                    |
200| -------- | ------------------------------------------------------------ |
201| 9200001  | The application is not an administrator application of the device. |
202| 9200002  | The administrator application does not have permission to manage the device. |
203| 201      | Permission verification failed. The application does not have the permission required to call the API. |
204| 401      | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
205
206**Example**
207
208```ts
209import { Want } from '@kit.AbilityKit';
210import { bluetoothManager } from '@kit.MDMKit';
211let wantTemp: Want = {
212  bundleName: 'com.example.myapplication',
213  abilityName: 'EntryAbility',
214};
215try {
216    let result: Array<string> = bluetoothManager.getAllowedBluetoothDevices(wantTemp);
217    console.info(`Succeeded in getting allowed bluetooth devices. Result: ${JSON.stringify(result)}`);
218} catch(err) {
219    console.error(`Failed to get allowed bluetooth devices. Code: ${err.code}, message: ${err.message}`);
220}
221```
222
223## BluetoothInfo
224
225Represents the device Bluetooth information.
226
227**System capability**: SystemCapability.Customization.EnterpriseDeviceManager
228
229
230
231**Model restriction**: This API can be used only in the stage model.
232
233| Name           | Type                                                        | Mandatory| Description                    |
234| --------------- | ------------------------------------------------------------ | ---- | ------------------------ |
235| name            | string                                                       | Yes  | Bluetooth name of the device.    |
236| state           | [access.BluetoothState](../apis-connectivity-kit/js-apis-bluetooth-access.md#bluetoothstate) | Yes  | Bluetooth state of the device.    |
237| connectionState | [constant.ProfileConnectionState](../apis-connectivity-kit/js-apis-bluetooth-constant.md#profileconnectionstate) | Yes  | Bluetooth profile connection state of the device.|
238