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