短信: NVRAM_EF_SMSAL_SMS_TOTAL 手机短信的容量定义 CM_SMS_MAX_MSG_NUM 短信总容量定义(sim + phone)
NVRAM_EF_PHB_COMPARE_DIGIT_DEFAULT 电话本比较的位数
#define PHB_VCARD_FOLDER "//x0D//x54//x47//x72//x39//x59//x00//x00" // 名片夹 UNICODE
ShowChargingCompleteScr 关机充电结束
IdleScreenBatteryFullCharged 开机充电结束
set_dt_display 设置待机时间显示位置
gui_clock_show 显示待机时间
update_main_LCD_date_time 待机时间更新
hide_main_LCD_date_time; /* set function pointer of hide func of date time of main lcd */
show_main_LCD_date_time; /* set func piinter of show date time of main lcd */
update_main_LCD_date_time; /* set function of upadet date time of main lcd */
void gui_draw_single_line_one_line(single_line_input_box *b, single_line_input_box_show_struct *bs) 单行输入框重画函数
date_input_register_keys
time_input_register_keys //注册修改日期、时间界面的处理函数
mmi_input_box_msg_call_back_ems //ems短信
wgui_EMS_redraw_remaining_characters_display //显示输入短信字串
mmi_imm_get_curr_input_type /* The current input type. */
mmi_imm_get_curr_input_mode /* The current input mode. */ //取得当前输入法
redraw_EMS_inputbox 短信输入inputbox
wgui_EMS_redraw_input_information_bar
主菜单相关
MMI_features_GUIPLUTO.h __MMI_BI_DEGREE_MAIN_MENU_STYLE__ //主菜单样式 __MMI_MAINMENU_TYPE__
initalize_main_menu_application()注册主菜单得各个高亮函数
CFG_UI_MAINMENU_SHOW_STATUS_ICON 显示/隐藏主菜单的status
CFG_UI_MAIN_MENU_NORMAL_IMAGE_CLIP_HEIGHT //
CFG_UI_MAIN_MENU_HIGHLIGHTED_IMAGE_HEIGHT //主菜单显示高度
ShowCategory14Screen
dm_setup_and_draw_matrix_menu
mtk_UI_show_fixed_matrix_menu 矩阵菜单
MMICheckDiskDisplay 显示开机logo函数 IMG_BOOTUP_SCANNING_LOGO 开机动画图片ID
短信发送实例
// 短信群发
ReleaseEMSEditBuffer();
pEMS = (EMSData*)GetEMSDataForEdit (0, 1);
ASSERT(pEMS != NULL);
result = AppendEMSString (IMM_INPUT_TYPE_SENTENCE, pEMS, (U8*)sSosSMSContent, SMSAL_UCS2_DCS, NULL);
for (i = 0; i < MAX_SEND_TO_MANY_ITEMS; i++)
{
memset(g_msg_cntx.msg_send_info.PhbNumber[i], 0, sizeof(g_msg_cntx.msg_send_info.PhbNumber[i]));
}
for (i = 0; i < MAX_SOS_NUMBER; i++)
{
if(UCS2Strlen((S8*)gSOSNumList[i]) != 0)
{
memcpy(g_msg_cntx.msg_send_info.PhbNumber[i], gSOSNumList[i], sizeof(gSOSNumList[i]));
}
}
mmi_msg_send_msg_to_many();
单个短信发送
ReleaseEMSEditBuffer();
pEMS = (EMSData*)GetEMSDataForEdit (0, 1);
ASSERT(pEMS != NULL);
g_msg_cntx.sendSaveStatus = SEND_SAVE_NIL;
memset (g_msg_cntx.smsPhoneNumber, 0, sizeof(g_msg_cntx.smsPhoneNumber));
mmi_ucs2cpy(g_msg_cntx.smsPhoneNumber, (S8 *)smsPhoneNum);
PendingSaveSendData.totalSegments=1;
PendingSaveSendData.mti=SMSAL_MTI_SUBMIT;//MS->SC
memset(PendingSaveSendData.TPUD, 0,sizeof(PendingSaveSendData.TPUD));
for (i=1; i {
PendingSaveSendData.TPUDLen[i]=0;
PendingSaveSendData.TPUD_p[i]=NULL;
PendingSaveSendData.l4index[i]=SMS_INVALID_INDEX;
PendingSaveSendData.TPUD_udhi[i]= FALSE;
}
g_msg_cntx.sendMessageCase = SEND_CASE_SEND_ONLY;
result = AppendEMSString (IMM_INPUT_TYPE_SENTENCE, pEMS, (U8*)sSosSMSContent, SMSAL_UCS2_DCS, NULL);
if(result)
{
mmi_frm_sms_send_struct * sendData=OslMalloc(sizeof(mmi_frm_sms_send_struct));
char Number[MAX_DIGITS_SMS];
char* pNumber = (char*)Number;
int numlen = 0;
ASSERT(sendData != NULL)
memset(Number, 0, sizeof(Number));
numlen = mmi_ucs2_to_asc((S8 *)Number, (S8 *)smsPhoneNum);
numlen = strlen(pNumber) > MAX_DIGITS_SMS ? MAX_DIGITS_SMS : strlen(pNumber);
memset((S8*)sendData, 0, sizeof(mmi_frm_sms_send_struct));
memset(sendData->number, 0, MAX_DIGITS_SMS);
memcpy(sendData->number, pNumber,numlen);
mmi_frm_sms_send_sms(SosSmsSendResponse, MOD_MMI, sendData);
OslMfree(sendData);
}//begin send message,but not sure send successfully
void SosSmsSendResponse(void* number, module_type mod, U16 result)
{
U16 currentSCRID ;
U8 data;
S16 error;
currentSCRID = GetActiveScreenId();
mmi_frm_sms_delete_screen_history();
if((currentSCRID == SCR_ID_MSG_SENDING) || (currentSCRID == SCR_ID_MSG_PROCESSING))
GoBackHistory();
switch(result)
{
case MMI_FRM_SMS_OK:
//write value of user use state
AlmEnableSPOF();
break;
default:
AlmEnableSPOF();
break;
}
memset(g_msg_cntx.smsPhoneNumber, 0, sizeof(g_msg_cntx.smsPhoneNumber));
}