• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# @ohos.bluetooth.pbap (蓝牙pbap模块)(系统接口)
2
3pbap模块提供了访问电话簿相关功能的方法。
4
5> **说明:**
6>
7> 本模块首批接口从API version 11开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
8> 当前页面仅包含本模块的系统接口,其他公开接口参见[@ohos.bluetooth.pbap (蓝牙pbap模块)](js-apis-bluetooth-pbap.md)
9
10
11## 导入模块
12
13```js
14import pbap from '@ohos.bluetooth.pbap';
15```
16
17## PbapServerProfile
18
19使用PbapServerProfile方法之前需要创建该类的实例进行操作,通过createPbapServerProfile()方法构造此实例。
20
21### disconnect
22
23disconnect(deviceId: string): void
24
25断开连接设备的Pbap服务。
26
27**系统接口**:此接口为系统接口。
28
29**需要权限**:ohos.permission.ACCESS_BLUETOOTH
30
31**系统能力**:SystemCapability.Communication.Bluetooth.Core32
33**参数:**
34
35| 参数名    | 类型     | 必填   | 说明      |
36| ------ | ------ | ---- | ------- |
37| deviceId | string | 是    | 远端设备地址。 |
38
39**错误码**:
40
41以下错误码的详细介绍请参见[蓝牙服务子系统错误码](errorcode-bluetoothManager.md)。
42
43| 错误码ID | 错误信息 |
44| -------- | ---------------------------- |
45|2900001 | Service stopped.                         |
46|2900003 | Bluetooth switch is off.                 |
47|2900004 | Profile is not supported.                |
48|2900099 | Operation failed.                        |
49
50**示例:**
51
52```js
53import { BusinessError } from '@ohos.base';
54try {
55    let pbapServerProfile = pbap.createPbapServerProfile();
56    pbapServerProfile.disconnect('XX:XX:XX:XX:XX:XX');
57} catch (err) {
58    console.error('errCode: ' + (err as BusinessError).code + ', errMessage: ' + (err as BusinessError).message);
59}
60```
61
62### setShareType
63
64setShareType(deviceId: string, type: ShareType, callback: AsyncCallback<void>): void
65
66设置电话簿信息的共享类型。
67
68**系统接口**:此接口为系统接口。
69
70**需要权限**:ohos.permission.ACCESS_BLUETOOTHohos.permission.MANAGE_BLUETOOTH
71
72**系统能力**:SystemCapability.Communication.Bluetooth.Core73
74**参数:**
75
76| 参数名      | 类型     | 必填   | 说明                                  |
77| -------- | ------ | ---- | ----------------------------------- |
78| deviceId | string | 是    | 表示远端设备地址,例如:"XX:XX:XX:XX:XX:XX"。 |
79| type | [ShareType](#sharetype) | 是    | 表示共享类型的枚举值。 |
80| callback | AsyncCallback<void> | 是    | 回调函数。当设置成功,err为undefined,否则为错误对象。   |
81
82**错误码**:
83
84以下错误码的详细介绍请参见[蓝牙服务子系统错误码](errorcode-bluetoothManager.md)。
85
86| 错误码ID | 错误信息 |
87| -------- | ---------------------------- |
88|2900001 | Service stopped.                         |
89|2900003 | Bluetooth switch is off.                 |
90|2900004 | Profile is not supported.                |
91|2900099 | Operation failed.                        |
92
93**示例:**
94
95```js
96import { BusinessError } from '@ohos.base';
97try {
98    let pbapServerProfile = pbap.createPbapServerProfile();
99    pbapServerProfile.setShareType('XX:XX:XX:XX:XX:XX', 0, (err: BusinessError) => {
100       console.info('setShareType');
101    });
102} catch (err) {
103    console.error('errCode: ' + (err as BusinessError).code + ', errMessage: ' + (err as BusinessError).message);
104}
105```
106
107
108### setShareType
109
110setShareType(deviceId: string, type: ShareType): Promise<void>
111
112设置电话簿信息的共享类型。
113
114**系统接口**:此接口为系统接口。
115
116**需要权限**:ohos.permission.ACCESS_BLUETOOTHohos.permission.MANAGE_BLUETOOTH
117
118**系统能力**:SystemCapability.Communication.Bluetooth.Core119
120**参数:**
121
122| 参数名      | 类型     | 必填   | 说明                                  |
123| -------- | ------ | ---- | ----------------------------------- |
124| deviceId | string | 是    | 表示远端设备地址,例如:"XX:XX:XX:XX:XX:XX"。 |
125| type | [ShareType](#sharetype) | 是    | 表示共享类型的枚举值。 |
126
127**返回值:**
128
129| 类型                                              | 说明                |
130| ------------------------------------------------- | ------------------- |
131| Promise<void> | 以Promise的形式返回结果。如果成功,err为undefined的,否则为错误对象。 |
132
133**错误码**:
134
135以下错误码的详细介绍请参见[蓝牙服务子系统错误码](errorcode-bluetoothManager.md)。
136
137| 错误码ID | 错误信息 |
138| -------- | ---------------------------- |
139|2900001 | Service stopped.                         |
140|2900003 | Bluetooth switch is off.                 |
141|2900004 | Profile is not supported.                |
142|2900099 | Operation failed.                        |
143
144**示例:**
145
146```js
147import { BusinessError } from '@ohos.base';
148try {
149    let pbapServerProfile = pbap.createPbapServerProfile();
150    pbapServerProfile.setShareType('XX:XX:XX:XX:XX:XX', 0).then(() => {
151        console.info('setShareType');
152    });
153} catch (err) {
154    console.error('errCode: ' + (err as BusinessError).code + ', errMessage: ' + (err as BusinessError).message);
155}
156```
157
158### getShareType
159
160getShareType(deviceId: string, callback: AsyncCallback<ShareType>): void
161
162获取电话簿信息的共享类型。
163
164**系统接口**:此接口为系统接口。
165
166**需要权限**:ohos.permission.ACCESS_BLUETOOTHohos.permission.MANAGE_BLUETOOTH
167
168**系统能力**:SystemCapability.Communication.Bluetooth.Core169
170**参数:**
171
172| 参数名      | 类型     | 必填   | 说明                                  |
173| -------- | ------ | ---- | ----------------------------------- |
174| deviceId | string | 是    | 表示远端设备地址,例如:"XX:XX:XX:XX:XX:XX"。 |
175| callback | AsyncCallback<[ShareType](#sharetype)> | 是    | 回调函数。当获取成功,err为undefined,否则为错误对象。   |
176
177**错误码**:
178
179以下错误码的详细介绍请参见[蓝牙服务子系统错误码](errorcode-bluetoothManager.md)。
180
181| 错误码ID | 错误信息 |
182| -------- | ---------------------------- |
183|2900001 | Service stopped.                         |
184|2900003 | Bluetooth switch is off.                 |
185|2900004 | Profile is not supported.                |
186|2900099 | Operation failed.                        |
187
188**示例:**
189
190```js
191import { BusinessError } from '@ohos.base';
192try {
193    let pbapServerProfile = pbap.createPbapServerProfile();
194    pbapServerProfile.getShareType('XX:XX:XX:XX:XX:XX', (err, type) => {
195        console.info('getShareType ' + type);
196    });
197} catch (err) {
198    console.error('errCode: ' + (err as BusinessError).code + ', errMessage: ' + (err as BusinessError).message);
199}
200```
201
202### getShareType
203
204getShareType(deviceId: string): Promise<ShareType>
205
206获取电话簿信息的共享类型。
207
208**系统接口**:此接口为系统接口。
209
210**需要权限**:ohos.permission.ACCESS_BLUETOOTHohos.permission.MANAGE_BLUETOOTH
211
212**系统能力**:SystemCapability.Communication.Bluetooth.Core213
214**参数:**
215
216| 参数名      | 类型     | 必填   | 说明                                  |
217| -------- | ------ | ---- | ----------------------------------- |
218| deviceId | string | 是    | 表示远端设备地址,例如:"XX:XX:XX:XX:XX:XX"。 |
219
220**返回值:**
221
222| 类型                                              | 说明                |
223| ------------------------------------------------- | ------------------- |
224| Promise<[ShareType](#sharetype)> | 以Promise的形式返回结果。如果成功,err为undefined的,否则为错误对象。 |
225
226**错误码**:
227
228以下错误码的详细介绍请参见[蓝牙服务子系统错误码](errorcode-bluetoothManager.md)。
229
230| 错误码ID | 错误信息 |
231| -------- | ---------------------------- |
232|2900001 | Service stopped.                         |
233|2900003 | Bluetooth switch is off.                 |
234|2900004 | Profile is not supported.                |
235|2900099 | Operation failed.                        |
236
237**示例:**
238
239```js
240import { BusinessError } from '@ohos.base';
241try {
242    let pbapServerProfile = pbap.createPbapServerProfile();
243    pbapServerProfile.getShareType('XX:XX:XX:XX:XX:XX').then((type) => {
244        console.info('getShareType ' + type);
245    });
246} catch (err) {
247    console.error('errCode: ' + (err as BusinessError).code + ', errMessage: ' + (err as BusinessError).message);
248}
249```
250
251### setPhoneBookAccessAuthorization
252
253setPhoneBookAccessAuthorization(deviceId: string, authorization: AccessAuthorization, callback: AsyncCallback<void>): void
254
255设置电话簿信息的访问权限。
256
257**系统接口**:此接口为系统接口。
258
259**需要权限**:ohos.permission.ACCESS_BLUETOOTHohos.permission.MANAGE_BLUETOOTH
260
261**系统能力**:SystemCapability.Communication.Bluetooth.Core262
263**参数:**
264
265| 参数名      | 类型     | 必填   | 说明                                  |
266| -------- | ------ | ---- | ----------------------------------- |
267| deviceId | string | 是    | 表示远端设备地址,例如:"XX:XX:XX:XX:XX:XX"。 |
268| authorization | [AccessAuthorization](js-apis-bluetooth-constant-sys.md#AccessAuthorization) | 是    | 表示访问权限枚举值。 |
269| callback | AsyncCallback<void> | 是    | 回调函数。当设置成功,err为undefined,否则为错误对象。   |
270
271**错误码**:
272
273以下错误码的详细介绍请参见[蓝牙服务子系统错误码](errorcode-bluetoothManager.md)。
274
275| 错误码ID | 错误信息 |
276| -------- | ---------------------------- |
277|2900001 | Service stopped.                         |
278|2900003 | Bluetooth switch is off.                 |
279|2900004 | Profile is not supported.                |
280|2900099 | Operation failed.                        |
281
282**示例:**
283
284```js
285import { BusinessError } from '@ohos.base';
286try {
287    let pbapServerProfile = pbap.createPbapServerProfile();
288    pbapServerProfile.setPhoneBookAccessAuthorization('XX:XX:XX:XX:XX:XX', 0, (err: BusinessError) => {
289       console.info('setPhoneBookAccessAuthorization');
290    });
291} catch (err) {
292    console.error('errCode: ' + (err as BusinessError).code + ', errMessage: ' + (err as BusinessError).message);
293}
294```
295
296
297### setPhoneBookAccessAuthorization
298
299setPhoneBookAccessAuthorization(deviceId: string, authorization: AccessAuthorization): Promise<void>
300
301设置电话簿信息的访问权限。
302
303**系统接口**:此接口为系统接口。
304
305**需要权限**:ohos.permission.ACCESS_BLUETOOTHohos.permission.MANAGE_BLUETOOTH
306
307**系统能力**:SystemCapability.Communication.Bluetooth.Core308
309**参数:**
310
311| 参数名      | 类型     | 必填   | 说明                                  |
312| -------- | ------ | ---- | ----------------------------------- |
313| deviceId | string | 是    | 表示远端设备地址,例如:"XX:XX:XX:XX:XX:XX"。 |
314| authorization | [AccessAuthorization](js-apis-bluetooth-constant-sys.md#AccessAuthorization) | 是    | 表示访问权限枚举值。 |
315
316**返回值:**
317
318| 类型                                              | 说明                |
319| ------------------------------------------------- | ------------------- |
320| Promise<void> | 以Promise的形式返回结果。如果成功,err为undefined的,否则为错误对象。 |
321
322**错误码**:
323
324以下错误码的详细介绍请参见[蓝牙服务子系统错误码](errorcode-bluetoothManager.md)。
325
326| 错误码ID | 错误信息 |
327| -------- | ---------------------------- |
328|2900001 | Service stopped.                         |
329|2900003 | Bluetooth switch is off.                 |
330|2900004 | Profile is not supported.                |
331|2900099 | Operation failed.                        |
332
333**示例:**
334
335```js
336import { BusinessError } from '@ohos.base';
337try {
338    let pbapServerProfile = pbap.createPbapServerProfile();
339    pbapServerProfile.setPhoneBookAccessAuthorization('XX:XX:XX:XX:XX:XX', 0).then(() => {
340        console.info('setPhoneBookAccessAuthorization');
341    });
342} catch (err) {
343    console.error('errCode: ' + (err as BusinessError).code + ', errMessage: ' + (err as BusinessError).message);
344}
345```
346
347### getPhoneBookAccessAuthorization
348
349getPhoneBookAccessAuthorization(deviceId: string, callback: AsyncCallback<AccessAuthorization>): void
350
351获取电话簿信息的访问权限。
352
353**系统接口**:此接口为系统接口。
354
355**需要权限**:ohos.permission.ACCESS_BLUETOOTHohos.permission.MANAGE_BLUETOOTH
356
357**系统能力**:SystemCapability.Communication.Bluetooth.Core358
359**参数:**
360
361| 参数名      | 类型     | 必填   | 说明                                  |
362| -------- | ------ | ---- | ----------------------------------- |
363| deviceId | string | 是    | 表示远端设备地址,例如:"XX:XX:XX:XX:XX:XX"。 |
364| callback | AsyncCallback<[AccessAuthorization](js-apis-bluetooth-constant-sys.md#AccessAuthorization)> | 是    | 回调函数。当获取成功,err为undefined,否则为错误对象。   |
365
366**错误码**:
367
368以下错误码的详细介绍请参见[蓝牙服务子系统错误码](errorcode-bluetoothManager.md)。
369
370| 错误码ID | 错误信息 |
371| -------- | ---------------------------- |
372|2900001 | Service stopped.                         |
373|2900003 | Bluetooth switch is off.                 |
374|2900004 | Profile is not supported.                |
375|2900099 | Operation failed.                        |
376
377**示例:**
378
379```js
380import { BusinessError } from '@ohos.base';
381try {
382    let pbapServerProfile = pbap.createPbapServerProfile();
383    pbapServerProfile.getPhoneBookAccessAuthorization('XX:XX:XX:XX:XX:XX', (err, authorization) => {
384        console.info('authorization ' + authorization);
385    });
386} catch (err) {
387    console.error('errCode: ' + (err as BusinessError).code + ', errMessage: ' + (err as BusinessError).message);
388}
389```
390
391### getPhoneBookAccessAuthorization
392
393getPhoneBookAccessAuthorization(deviceId: string): Promise<AccessAuthorization>
394
395获取电话簿信息的访问权限。
396
397**系统接口**:此接口为系统接口。
398
399**需要权限**:ohos.permission.ACCESS_BLUETOOTHohos.permission.MANAGE_BLUETOOTH
400
401**系统能力**:SystemCapability.Communication.Bluetooth.Core402
403**参数:**
404
405| 参数名      | 类型     | 必填   | 说明                                  |
406| -------- | ------ | ---- | ----------------------------------- |
407| deviceId | string | 是    | 表示远端设备地址,例如:"XX:XX:XX:XX:XX:XX"。 |
408
409**返回值:**
410
411| 类型                                              | 说明                |
412| ------------------------------------------------- | ------------------- |
413| Promise<[AccessAuthorization](js-apis-bluetooth-constant-sys.md#AccessAuthorization)> | 以Promise的形式返回结果。如果成功,err为undefined的,否则为错误对象。 |
414
415**错误码**:
416
417以下错误码的详细介绍请参见[蓝牙服务子系统错误码](errorcode-bluetoothManager.md)。
418
419| 错误码ID | 错误信息 |
420| -------- | ---------------------------- |
421|2900001 | Service stopped.                         |
422|2900003 | Bluetooth switch is off.                 |
423|2900004 | Profile is not supported.                |
424|2900099 | Operation failed.                        |
425
426**示例:**
427
428```js
429import { BusinessError } from '@ohos.base';
430try {
431    let pbapServerProfile = pbap.createPbapServerProfile();
432    pbapServerProfile.getPhoneBookAccessAuthorization('XX:XX:XX:XX:XX:XX').then((authorization) => {
433        console.info('authorization ' + authorization);
434    });
435} catch (err) {
436    console.error('errCode: ' + (err as BusinessError).code + ', errMessage: ' + (err as BusinessError).message);
437}
438```
439
440## ShareType
441
442枚举,共享类型。
443
444**系统接口**:此接口为系统接口。
445
446**系统能力**:SystemCapability.Communication.Bluetooth.Core447
448| 名称                 | 值  | 说明     |
449| ------------------ | ---- | ------ |
450| SHARE_NAME_AND_PHONE_NUMBER | 0    | 共享名字和号码信息。<br/>此接口为系统接口。 |
451| SHARE_ALL | 1    | 共享所有信息。<br/>此接口为系统接口。  |
452| SHARE_NOTHING  | 2    | 不共享。<br/>此接口为系统接口。   |