Watch 应用中一般会使用到的经典蓝牙 profile 包括 A2DP,AVRCP,HFP,PBAP,SPP 等。上层应用 一般需要处理的电话状态,耳机播放控制命令,电话簿查询等。 各 Profile 初始化时,会注册对应的回调接口,当相关 profile 有事件返回时,通过对应的回调接口通知 上层 APP。
bt_mgr_cback_register(app_hfp_bt_cback);
bt_mgr_cback_register(app_pbap_bt_cback);
bt_mgr_cback_register(app_avrcp_bt_cback);
……
1,HFP
static void app_hfp_bt_cback(T_BT_EVENT event_type, void *event_buf, uint16_t buf_len)
{
switch (event_type)
{
case BT_EVENT_HFP_CALL_STATUS:
case BT_EVENT_HFP_CALLER_ID_IND:
}
}
BT_EVENT_HFP_CALL_STATUS:通话状态上报
typedef enum t_bt_hfp_call_status