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.Core。 32 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_BLUETOOTH 和 ohos.permission.MANAGE_BLUETOOTH 71 72**系统能力**:SystemCapability.Communication.Bluetooth.Core。 73 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_BLUETOOTH 和 ohos.permission.MANAGE_BLUETOOTH 117 118**系统能力**:SystemCapability.Communication.Bluetooth.Core。 119 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_BLUETOOTH 和 ohos.permission.MANAGE_BLUETOOTH 167 168**系统能力**:SystemCapability.Communication.Bluetooth.Core。 169 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_BLUETOOTH 和 ohos.permission.MANAGE_BLUETOOTH 211 212**系统能力**:SystemCapability.Communication.Bluetooth.Core。 213 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_BLUETOOTH 和 ohos.permission.MANAGE_BLUETOOTH 260 261**系统能力**:SystemCapability.Communication.Bluetooth.Core。 262 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_BLUETOOTH 和 ohos.permission.MANAGE_BLUETOOTH 306 307**系统能力**:SystemCapability.Communication.Bluetooth.Core。 308 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_BLUETOOTH 和 ohos.permission.MANAGE_BLUETOOTH 356 357**系统能力**:SystemCapability.Communication.Bluetooth.Core。 358 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_BLUETOOTH 和 ohos.permission.MANAGE_BLUETOOTH 400 401**系统能力**:SystemCapability.Communication.Bluetooth.Core。 402 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.Core。 447 448| 名称 | 值 | 说明 | 449| ------------------ | ---- | ------ | 450| SHARE_NAME_AND_PHONE_NUMBER | 0 | 共享名字和号码信息。<br/>此接口为系统接口。 | 451| SHARE_ALL | 1 | 共享所有信息。<br/>此接口为系统接口。 | 452| SHARE_NOTHING | 2 | 不共享。<br/>此接口为系统接口。 |