• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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.Core23
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.Core39
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.Core80
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.Core127
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.Core161
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```