1# @ohos.bluetooth.baseProfile (蓝牙baseProfile模块) 2 3baseProfile模块提供了基础的profile方法。 4 5> **说明:** 6> 7> 本模块首批接口从API version 10开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 8 9 10 11## 导入模块 12 13```js 14import baseProfile from '@ohos.bluetooth.baseProfile'; 15``` 16 17 18## StateChangeParam 19 20描述profile状态改变参数。 21 22**系统能力**:SystemCapability.Communication.Bluetooth.Core。 23 24| 名称 | 类型 | 可读 | 可写 | 说明 | 25| -------- | ----------------------------- | ---- | ---- | ------------------------------- | 26| deviceId | string | 是 | 否 | 表示蓝牙设备地址。 | 27| state | ProfileConnectionState | 是 | 否 | 表示蓝牙设备的profile连接状态。 | 28 29 30## baseProfile.getConnectedDevices 31 32getConnectedDevices(): Array<string> 33 34获取已连接设备列表。 35 36**需要权限**:ohos.permission.ACCESS_BLUETOOTH 37 38**系统能力**:SystemCapability.Communication.Bluetooth.Core。 39 40**返回值:** 41 42| 类型 | 说明 | 43| ------------------- | ------------------- | 44| Array<string> | 返回当前已连接设备的地址。 | 45 46**错误码**: 47 48以下错误码的详细介绍请参见[蓝牙服务子系统错误码](errorcode-bluetoothManager.md)。 49 50| 错误码ID | 错误信息 | 51| -------- | ---------------------------- | 52|2900001 | Service stopped. | 53|2900003 | Bluetooth switch is off. | 54|2900004 | Profile is not supported. | 55|2900099 | Operation failed. | 56 57**示例:** 58 59```js 60import { BusinessError } from '@ohos.base'; 61import a2dp from '@ohos.bluetooth.a2dp'; 62try { 63 let a2dpSrc = a2dp.createA2dpSrcProfile(); 64 let retArray = a2dpSrc.getConnectedDevices(); 65} catch (err) { 66 console.error("errCode:" + (err as BusinessError).code + ",errMessage:" + (err as BusinessError).message); 67} 68``` 69 70 71## baseProfile.getConnectionState 72 73getConnectionState(deviceId: string): ProfileConnectionState 74 75获取设备profile的连接状态。 76 77**需要权限**:ohos.permission.ACCESS_BLUETOOTH 78 79**系统能力**:SystemCapability.Communication.Bluetooth.Core。 80 81**参数:** 82 83| 参数名 | 类型 | 必填 | 说明 | 84| ------ | ------ | ---- | ------- | 85| deviceId | string | 是 | 远端设备地址。 | 86 87**返回值:** 88 89| 类型 | 说明 | 90| ------------------------------------------------- | ----------------------- | 91| [ProfileConnectionState](js-apis-bluetooth-constant.md#profileconnectionstate) | 返回profile的连接状态。 | 92 93**错误码**: 94 95以下错误码的详细介绍请参见[蓝牙服务子系统错误码](errorcode-bluetoothManager.md)。 96 97| 错误码ID | 错误信息 | 98| -------- | ---------------------------- | 99|2900001 | Service stopped. | 100|2900003 | Bluetooth switch is off. | 101|2900004 | Profile is not supported. | 102|2900099 | Operation failed. | 103 104**示例:** 105 106```js 107import { BusinessError } from '@ohos.base'; 108import a2dp from '@ohos.bluetooth.a2dp'; 109try { 110 let a2dpSrc = a2dp.createA2dpSrcProfile(); 111 let ret = a2dpSrc.getConnectionState('XX:XX:XX:XX:XX:XX'); 112} catch (err) { 113 console.error('errCode: ' + (err as BusinessError).code + ', errMessage: ' + (err as BusinessError).message); 114} 115``` 116 117 118## baseProfile.on('connectionStateChange') 119 120on(type: 'connectionStateChange', callback: Callback<StateChangeParam>): void 121 122订阅连接状态变化事件。 123 124**需要权限**:ohos.permission.ACCESS_BLUETOOTH 125 126**系统能力**:SystemCapability.Communication.Bluetooth.Core。 127 128**参数:** 129 130| 参数名 | 类型 | 必填 | 说明 | 131| -------- | ---------------------------------------- | ---- | ---------------------------------------- | 132| type | string | 是 | 填写"connectionStateChange"字符串,表示连接状态变化事件。 | 133| callback | Callback<[StateChangeParam](#statechangeparam)> | 是 | 表示回调函数的入参。 | 134 135**示例:** 136 137```js 138import { BusinessError } from '@ohos.base'; 139import a2dp from '@ohos.bluetooth.a2dp'; 140function onReceiveEvent(data: baseProfile.StateChangeParam) { 141 console.info('a2dp state = '+ JSON.stringify(data)); 142} 143try { 144 let a2dpSrc = a2dp.createA2dpSrcProfile(); 145 a2dpSrc.on('connectionStateChange', onReceiveEvent); 146} catch (err) { 147 console.error('errCode: ' + (err as BusinessError).code + ', errMessage: ' + (err as BusinessError).message); 148} 149``` 150 151 152## baseProfile.off('connectionStateChange') 153 154off(type: 'connectionStateChange', callback?: Callback<[StateChangeParam](#statechangeparam)>): void 155 156取消订阅连接状态变化事件。 157 158**需要权限**:ohos.permission.ACCESS_BLUETOOTH 159 160**系统能力**:SystemCapability.Communication.Bluetooth.Core。 161 162**参数:** 163 164| 参数名 | 类型 | 必填 | 说明 | 165| -------- | ---------------------------------------- | ---- | ---------------------------------------- | 166| type | string | 是 | 填写"connectionStateChange"字符串,表示连接状态变化事件。 | 167| callback | Callback<[StateChangeParam](#statechangeparam)> | 否 | 表示回调函数的入参。 | 168 169**示例:** 170 171```js 172import { BusinessError } from '@ohos.base'; 173import a2dp from '@ohos.bluetooth.a2dp'; 174function onReceiveEvent(data: baseProfile.StateChangeParam) { 175 console.info('a2dp state = '+ JSON.stringify(data)); 176} 177try { 178 let a2dpSrc = a2dp.createA2dpSrcProfile(); 179 a2dpSrc.on('connectionStateChange', onReceiveEvent); 180 a2dpSrc.off('connectionStateChange', onReceiveEvent); 181} catch (err) { 182 console.error('errCode: ' + (err as BusinessError).code + ', errMessage: ' + (err as BusinessError).message); 183} 184```