[DESCRIPTION]
使用某些SIM卡时,在User正常使用的情况下出现界面上时而弹出"Sending text message"的Popup 框,并且短时间内点击所有的按键都无效。
[SOLUTION]
有些运营商的特殊SIM卡会上报SAT命令,定时要求手机向网络发送短信,按照11.14规范,我们是应当让User知道手机当前在发送短信; 但为了不影响User使用感受,客户希望不弹出Popup 框导致按键无响应的情况,那么可以做以下修改(修改方法适用与10A之后的Pluto MMI): Note:去除弹框会造成SAT 测试Fail,请客户自行评估控制版本。 1>、如果只是希望在STK菜单之外的界面时去除Sending text message的Popup 框, MT6260的修改方法: 将以下函数: void mmi_sat_send_sms_process(srv_sat_proactive_sim_struct *cmd_info) { /*----------------------------------------------------------------*/ /* Local Variables */ /*----------------------------------------------------------------*/ mmi_sat_group_data_struct *group_data = NULL; srv_sat_send_sms_struct *send_sms = NULL; /*----------------------------------------------------------------*/ /* Code Body */ /*----------------------------------------------------------------*/ send_sms = (srv_sat_send_sms_struct *)(&cmd_info->cmd_data); group_data = mmi_sat_init_group_data(cmd_info->sim_id, cmd_info->cmd_type, send_sms, MMI_FALSE); group_data->func_p = (FuncPtr)mmi_sat_send_sms_scrn_entry; mmi_sat_instant_cmd_show_by_nmgr(mmi_sat_scrn_pre_entry, group_data); } 修改为: void mmi_sat_send_sms_process(srv_sat_proactive_sim_struct *cmd_info) { /*----------------------------------------------------------------*/ /* Local Variables */ /*----------------------------------------------------------------*/ mmi_sat_group_data_struct *group_data = NULL; srv_sat_send_sms_struct *send_sms = NULL; /*----------------------------------------------------------------*/ /* Code Body */ /*----------------------------------------------------------------*/ send_sms = (srv_sat_send_sms_struct *)(&cmd_info->cmd_data); if(mmi_sat_is_in_screen(cmd_info->sim_id)) { group_data = mmi_sat_init_group_data(cmd_info->sim_id, cmd_info->cmd_type, send_sms, MMI_FALSE); group_data->func_p = (FuncPtr)mmi_sat_send_sms_scrn_entry; mmi_sat_instant_cmd_show_by_nmgr(mmi_sat_scrn_pre_entry, group_data); } else { srv_sat_terminal_response_send_sms_stage1(cmd_info->sim_id); } } MT6261的修改方法: 如果想直接去掉所有case下的sending text message界面。 file: mcu\plutommi\service\sarsrv\SatCommandSrv.c function: srv_sat_do_send_sms 那么直接将: if (!send_sms->alpha_id) { send_sms->alpha_id = DO_ALPHA_EX(STR_ID_SAT_SEND_SMS); } else if (!send_sms->alpha_id[0]) { srv_sat_terminal_response_send_sms_stage1(sim_id); return MMI_FALSE; } 替换成: if(mmi_sat_is_in_screen(sim_id)) { if (!send_sms->alpha_id) { send_sms->alpha_id = DO_ALPHA_EX(STR_ID_SAT_SEND_SMS); } else if (!send_sms->alpha_id[0]) { srv_sat_terminal_response_send_sms_stage1(sim_id); return MMI_FALSE; } } else { srv_sat_terminal_response_send_sms_stage1(sim_id); return MMI_FALSE; } 2>、如果想直接去掉所有case下的sending text message界面。 MT6260的改法: 那么直接将上述函数中: group_data = mmi_sat_init_group_data(cmd_info->sim_id, cmd_info->cmd_type, send_sms, MMI_FALSE); group_data->func_p = (FuncPtr)mmi_sat_send_sms_scrn_entry; mmi_sat_instant_cmd_show_by_nmgr(mmi_sat_scrn_pre_entry, group_data); 替换成: srv_sat_terminal_response_send_sms_stage1(cmd_info->sim_id); MT6261的改法: file: mcu\plutommi\service\sarsrv\SatCommandSrv.c function: srv_sat_do_send_sms 那么直接将: if (!send_sms->alpha_id) { send_sms->alpha_id = DO_ALPHA_EX(STR_ID_SAT_SEND_SMS); } else if (!send_sms->alpha_id[0]) { srv_sat_terminal_response_send_sms_stage1(sim_id); return MMI_FALSE; } 替换成: srv_sat_terminal_response_send_sms_stage1(sim_id); return MMI_FALSE; 本文转载自一牛网论坛—MTK硬件 原文地址:http://bbs./thread-453698-1-1.html
|