pbap
PBAP (Phone Book Access Profile) 提供蓝牙电话薄访问功能,支持连接远端设备的电话薄服务、下载电话薄数据和通话记录数据。
头文件清单
接口清单
| 接口名称 | 功能简述 |
|---|---|
| bs_br_phone_book_connect | 连接电话薄 |
| bs_br_phone_book_disconnect | 断连电话薄 |
| bs_br_pull_phone_book | 下载电话薄 |
| bs_br_pull_call_log | 下载通话记录 |
| bs_br_phone_book_register_callbacks | 注册电话薄回调 |
| bs_br_phone_book_unregister_callbacks | 去注册电话薄回调 |
Functions
bs_br_phone_book_connect
头文件清单
功能说明
- 连接远端设备的电话薄服务
- 建立本端与远端设备之间的PBAP连接
- 连接结果通过注册的回调函数上报
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| dev_id | uint16_t | 远端设备ID | 0 ~ 65535 |
返回值
- 返回类型:errcode_t
| 返回值 | 文字含义 | 触发场景 |
|---|---|---|
| ERRCODE_BT_SUCCESS(0x00) | 执行成功 | 连接请求成功发起 |
| Other | 其他错误码,参考errcode_bt_t | 执行失败 |
bs_br_phone_book_disconnect
头文件清单
功能说明
- 断开与远端设备的电话薄连接
- 释放本端与远端设备之间的PBAP连接资源
- 断连结果通过注册的回调函数上报
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| dev_id | uint16_t | 远端设备ID | 0 ~ 65535 |
返回值
- 返回类型:errcode_t
| 返回值 | 文字含义 | 触发场景 |
|---|---|---|
| ERRCODE_BT_SUCCESS(0x00) | 执行成功 | 断连请求成功发起 |
| Other | 其他错误码,参考errcode_bt_t | 执行失败 |
bs_br_pull_phone_book
头文件清单
功能说明
- 从远端设备下载电话薄数据
- 支持指定vCard版本进行数据拉取
- 下载的数据和结果通过注册的回调函数上报
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| dev_id | uint16_t | 远端设备ID | 0 ~ 65535 |
| version | bs_br_phone_book_vcard_version_t | vCard版本 | BR_PHONE_BOOK_VCARD21(0) / BR_PHONE_BOOK_VCARD30(1) |
返回值
- 返回类型:errcode_t
| 返回值 | 文字含义 | 触发场景 |
|---|---|---|
| ERRCODE_BT_SUCCESS(0x00) | 执行成功 | 下载请求成功发起 |
| Other | 其他错误码,参考errcode_bt_t | 执行失败 |
bs_br_pull_call_log
errcode_t bs_br_pull_call_log(uint16_t dev_id, bs_br_call_log_type_t type, bs_br_phone_book_vcard_version_t version)
头文件清单
功能说明
- 从远端设备下载通话记录数据
- 支持指定通话记录类型和vCard版本进行数据拉取
- 下载的数据和结果通过注册的回调函数上报
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| dev_id | uint16_t | 远端设备ID | 0 ~ 65535 |
| type | bs_br_call_log_type_t | 通话记录类型 | BR_CALL_LOG_ICH(1) / BR_CALL_LOG_OCH(2) / BR_CALL_LOG_MCH(3) / BR_CALL_LOG_CCH(4) |
| version | bs_br_phone_book_vcard_version_t | vCard版本 | BR_PHONE_BOOK_VCARD21(0) / BR_PHONE_BOOK_VCARD30(1) |
返回值
- 返回类型:errcode_t
| 返回值 | 文字含义 | 触发场景 |
|---|---|---|
| ERRCODE_BT_SUCCESS(0x00) | 执行成功 | 下载请求成功发起 |
| Other | 其他错误码,参考errcode_bt_t | 执行失败 |
bs_br_phone_book_register_callbacks
errcode_t bs_br_phone_book_register_callbacks(uint8_t app_id, const bs_br_phone_book_callbacks_t *funs)
头文件清单
功能说明
- 注册电话薄服务的回调函数集合
- 注册后可通过回调接收连接状态变化、电话薄数据和通话记录数据的上报
- 支持多个应用分别注册各自的回调函数
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| app_id | uint8_t | 应用ID | 0 ~ 255 |
| funs | const bs_br_phone_book_callbacks_t * | 回调函数结构体指针 | 非NULL |
返回值
- 返回类型:errcode_t
| 返回值 | 文字含义 | 触发场景 |
|---|---|---|
| ERRCODE_BT_SUCCESS(0x00) | 执行成功 | 注册成功 |
| Other | 其他错误码,参考errcode_bt_t | 执行失败 |
bs_br_phone_book_unregister_callbacks
头文件清单
功能说明
- 去注册电话薄服务的回调函数集合
- 去注册后不再接收该应用的电话薄相关事件上报
- 通过指定的应用ID取消对应的回调注册
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| app_id | uint8_t | 应用ID | 0 ~ 255 |
返回值
- 返回类型:errcode_t
| 返回值 | 文字含义 | 触发场景 |
|---|---|---|
| ERRCODE_BT_SUCCESS(0x00) | 执行成功 | 去注册成功 |
| Other | 其他错误码,参考errcode_bt_t | 执行失败 |
Type definitions
bs_br_phone_book_conn_state_changed_cbk
使用说明
- 调用时机:PBAP连接状态变化时由协议栈调用,将连接状态上报给应用
- 作为 bs_br_phone_book_callbacks_t 结构体成员 connect_state_cbk 的类型,被 bs_br_phone_book_register_callbacks 接口间接使用
bs_br_phone_book_recevice_cbk
使用说明
- 调用时机:接收到电话薄数据时由协议栈调用,将数据上报给应用
- 作为 bs_br_phone_book_callbacks_t 结构体成员 recevice_phone_book_cbk 的类型,被 bs_br_phone_book_register_callbacks 接口间接使用
bs_br_phone_book_result_cbk
使用说明
- 调用时机:电话薄数据下载完成时由协议栈调用,上报下载结果
- 作为 bs_br_phone_book_callbacks_t 结构体成员 phone_book_result_cbk 的类型,被 bs_br_phone_book_register_callbacks 接口间接使用
bs_br_call_log_recevice_cbk
使用说明
- 调用时机:接收到通话记录数据时由协议栈调用,将数据上报给应用
- 作为 bs_br_phone_book_callbacks_t 结构体成员 recevice_call_log_cbk 的类型,被 bs_br_phone_book_register_callbacks 接口间接使用
bs_br_call_log_result_cbk
使用说明
- 调用时机:通话记录数据下载完成时由协议栈调用,上报下载结果
- 作为 bs_br_phone_book_callbacks_t 结构体成员 call_log_result_cbk 的类型,被 bs_br_phone_book_register_callbacks 接口间接使用
Enumerations
bs_br_phone_book_vcard_version_t
typedef enum {
BR_PHONE_BOOK_VCARD21 = 0,
BR_PHONE_BOOK_VCARD30,
} bs_br_phone_book_vcard_version_t;
| 枚举成员 | 取值 | 描述 |
|---|---|---|
| BR_PHONE_BOOK_VCARD21 | 0 | vCard 2.1 版本 |
| BR_PHONE_BOOK_VCARD30 | 1 | vCard 3.0 版本 |
bs_br_call_log_type_t
typedef enum {
BR_CALL_LOG_ICH = 0x1,
BR_CALL_LOG_OCH,
BR_CALL_LOG_MCH,
BR_CALL_LOG_CCH,
} bs_br_call_log_type_t;
| 枚举成员 | 取值 | 描述 |
|---|---|---|
| BR_CALL_LOG_ICH | 1 | 来电通话记录 |
| BR_CALL_LOG_OCH | 2 | 去电通话记录 |
| BR_CALL_LOG_MCH | 3 | 未接来电通话记录 |
| BR_CALL_LOG_CCH | 4 | 所有的通话记录 |
errcode_bt_t
errcode_bt_t [SDK公共基础类型]
typedef enum {
ERRCODE_BT_SUCCESS = 0x00,
ERRCODE_BT_FAIL = ERRCODE_BT_COMMON_BASE,
ERRCODE_BT_NOT_READY,
ERRCODE_BT_MALLOC_FAIL,
ERRCODE_BT_MEMCPY_FAIL,
ERRCODE_BT_BUSY,
ERRCODE_BT_DONE,
ERRCODE_BT_UNSUPPORTED,
ERRCODE_BT_PARAM_ERR,
ERRCODE_BT_STATE_ERR,
ERRCODE_BT_UNHANDLED,
ERRCODE_BT_AUTH_FAIL,
ERRCODE_BT_RMT_DEV_DOWN,
ERRCODE_BT_AUTH_REJECTED,
ERRCODE_BT_KEY_MISSING,
ERRCODE_BT_OUT_OF_RANGE,
ERRCODE_BT_MAX = ERRCODE_BT_COMMON_END
} errcode_bt_t;
| 枚举成员 | 取值 | 描述 |
|---|---|---|
| ERRCODE_BT_SUCCESS | 0x00 | 执行成功错误码 |
| ERRCODE_BT_FAIL | 0x80006000 | 执行失败错误码 |
| ERRCODE_BT_NOT_READY | 0x80006001 | 执行状态未就绪错误码 |
| ERRCODE_BT_MALLOC_FAIL | 0x80006002 | 内存不足错误码 |
| ERRCODE_BT_MEMCPY_FAIL | 0x80006003 | 内存拷贝错误错误码 |
| ERRCODE_BT_BUSY | 0x80006004 | 繁忙无法响应错误码 |
| ERRCODE_BT_DONE | 0x80006005 | 执行完成错误码 |
| ERRCODE_BT_UNSUPPORTED | 0x80006006 | 不支持错误码 |
| ERRCODE_BT_PARAM_ERR | 0x80006007 | 无效参数错误码 |
| ERRCODE_BT_STATE_ERR | 0x80006008 | 状态错误 |
| ERRCODE_BT_UNHANDLED | 0x80006009 | 未处理错误码 |
| ERRCODE_BT_AUTH_FAIL | 0x8000600A | 鉴权失败错误码 |
| ERRCODE_BT_RMT_DEV_DOWN | 0x8000600B | 远端设备关闭错误码 |
| ERRCODE_BT_AUTH_REJECTED | 0x8000600C | 鉴权被拒错误码 |
| ERRCODE_BT_KEY_MISSING | 0x8000600D | 密钥丢失错误码 |
| ERRCODE_BT_OUT_OF_RANGE | 0x8000600E | 参数超出范围错误码 |
| ERRCODE_BT_MAX | 0x800067FF | 蓝牙错误码最大值 |
Structures
bs_br_phone_book_callbacks_t
typedef struct {
bs_br_phone_book_conn_state_changed_cbk connect_state_cbk;
bs_br_phone_book_recevice_cbk recevice_phone_book_cbk;
bs_br_phone_book_result_cbk phone_book_result_cbk;
bs_br_call_log_recevice_cbk recevice_call_log_cbk;
bs_br_call_log_result_cbk call_log_result_cbk;
} bs_br_phone_book_callbacks_t;
成员说明
| 成员名称 | 数据类型 | 描述 |
|---|---|---|
| connect_state_cbk | bs_br_phone_book_conn_state_changed_cbk | 连接状态上报回调函数 |
| recevice_phone_book_cbk | bs_br_phone_book_recevice_cbk | 拉取电话薄数据的回调函数 |
| phone_book_result_cbk | bs_br_phone_book_result_cbk | 拉取电话薄结果的回调函数 |
| recevice_call_log_cbk | bs_br_call_log_recevice_cbk | 拉取通话记录数据的回调函数 |
| call_log_result_cbk | bs_br_call_log_result_cbk | 拉取通话记录结果的回调函数 |