微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 手机设计讨论 > MTK手机平台交流 > mt2503 无法通过耳机上的按键接听或者挂断BT call

mt2503 无法通过耳机上的按键接听或者挂断BT call

时间:10-02 整理:3721RD 点击:
[BT Dialer v2.1][Call] 无法通过耳机上的按键接听或者挂断BT call
[DESCRIPTION]
BT Dialer 连接上Smart Phone,插入有线耳机,无法通过耳机上的按键接听/挂断电话。
[SOLUTION]
鄙司目前没有添加对耳机按键的处理,如需添加这个功能可以参考下面的改法:
1. ucmbt.res文件中:
#ifdef __MMI_BT_DIALER_SUPPORT__
//...
<RECEIVER id="EVT_ID_PRE_KEY_EVT_ROUTING" proc="mmi_ucm_bk_call_key_proc_bt"/>
<RECEIVER id="EVT_ID_GPIO_EXT_DEV_KEY_1" proc="mmi_ucm_heADSet_key_hdlr_bt"/> // 添加此行
// ...
#endif

2. UcmKernelBT.c文件中添加两个函数。
static void mmi_ucm_headset_key_bt(void)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
if (mmi_ucm_query_call_count_by_call_state_bt(SRV_UCM_BT_INCOMING_STATE, NULL) > 0)
{
mmi_ucm_incoming_call_sendkey_bt();
}
else if (mmi_ucm_query_call_count_by_call_state_bt(SRV_UCM_BT_OUTGOING_STATE, NULL) > 0)
{
mmi_ucm_end_call_bt();
}
else if (!srv_ucm_is_incoming_call() && !srv_ucm_is_outgoing_call()
&& mmi_ucm_query_call_count_by_call_state_bt(SRV_UCM_BT_CALL_STATE_CONNECTED, NULL) > 0)
{
mmi_ucm_in_call_endkey_bt();
}
}
mmi_ret mmi_ucm_headset_key_hdlr_bt(mmi_event_struct* para)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
if (mmi_ucm_query_call_count_by_call_state_bt(SRV_UCM_BT_CALL_STATE_ALL, NULL) > 0)
{
mmi_ucm_headset_key_bt();
return MMI_RET_ERR;
}
return MMI_RET_OK;
}

3. UcmUi.c文件中添加一个条件:
void mmi_ucm_headset_key(void)
{
//...
/* in call, headset key is to release current highlight tab call */
else if (srv_ucm_query_group_count(SRV_UCM_CALL_STATE_ALL, SRV_UCM_CALL_TYPE_ALL, MMI_FALSE, NULL) > 0
#ifdef __MMI_BT_DIALER_SUPPORT__ // 添加此条件
&& mmi_ucm_query_call_count_by_call_state_bt(SRV_UCM_BT_INCOMING_STATE, NULL) == 0 // 添加此条件
#endif /* __MMI_BT_DIALER_SUPPORT__ */ // 添加此条件
)
//...
}

build command:
1. make resgen
2. make remake mmiresource mmi_app

谢谢分享!

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top