MTK短信开发详解(五)
MTK短信开发详解(五)[\plutommi\mmi\MiscFramework\MiscFrameworkSrc\SMSUtil.c]
void mmi_frm_sms_convert_mt_to_entry(mmi_frm_sms_deliver_msg_struct *data, mmi_frm_sms_msgbox_struct *entry)
type = MMI_FRM_SMS_UNREAD;// 设置短信类型
msgbox_index = mmi_frm_sms_add_sms_to_msgbox(entry, data->index, segment);// 添加短信到inbox,关键!↘
[\plutommi\mmi\MiscFramework\MiscFrameworkSrc\SMSUtil.c]
U16 mmi_frm_sms_add_sms_to_msgbox(mmi_frm_sms_msgbox_struct *entry, U16 index, U8 thisseg)
entryindex = mmi_frm_sms_add_sms_entry(entry, index, thisseg);↘
[\plutommi\mmi\MiscFramework\MiscFrameworkSrc\SMSUtil.c]
U16 mmi_frm_sms_add_sms_entry(mmi_frm_sms_msgbox_struct *data, U16 L4index, U8 thissegment)
#endif /* __UNIFIED_MESSAGE_SIMBOX_SUPPORT__ */
if ((data->msgtype & MMI_FRM_SMS_INBOX) == MMI_FRM_SMS_INBOX)
{
type = MMI_FRM_SMS_INBOX;//短信分类
}
mmi_frm_sms_add_sms_to_list(entry, entryindex);↘
[\plutommi\mmi\MiscFramework\MiscFrameworkSrc\SMSUtil.c]
void mmi_frm_sms_add_sms_to_list(mmi_frm_sms_msgbox_struct *data, U16 index)
case MMI_FRM_SMS_UNREAD:
[... 添加索引到收件箱 ...]
[\plutommi\mmi\MiscFramework\MiscFrameworkSrc\SMSCore.c]
void mmi_frm_sms_new_sms(void)
{
[...]
caseMMI_FRM_SMS_AWAITS:
{
mmi_frm_sms_indicate_sms(index);
}
[...]
}
[\plutommi\mmi\MiscFramework\MiscFrameworkSrc\SMSCore.c]
void mmi_frm_sms_indicate_sms(U16 index)
{
[…]
mmi_frm_sms_convert_mt_to_entry(data, entry);↘
[\plutommi\mmi\MiscFramework\MiscFrameworkSrc\SMSUtil.c]
void mmi_frm_sms_convert_mt_to_entry(mmi_frm_sms_deliver_msg_struct *data, mmi_frm_sms_msgbox_struct *entry)
type = MMI_FRM_SMS_UNREAD;// 设置短信类型
msgbox_index = mmi_frm_sms_add_sms_to_msgbox(entry, data->index, segment);// 添加短信到inbox,关键!↘
[\plutommi\mmi\MiscFramework\MiscFrameworkSrc\SMSUtil.c]
U16 mmi_frm_sms_add_sms_to_msgbox(mmi_frm_sms_msgbox_struct *entry, U16 index, U8 thisseg)
entryindex = mmi_frm_sms_add_sms_entry(entry, index, thisseg);↘
[\plutommi\mmi\MiscFramework\MiscFrameworkSrc\SMSUtil.c]
U16 mmi_frm_sms_add_sms_entry(mmi_frm_sms_msgbox_struct *data, U16 L4index, U8 thissegment)
#endif /* __UNIFIED_MESSAGE_SIMBOX_SUPPORT__ */
if ((data->msgtype & MMI_FRM_SMS_INBOX) == MMI_FRM_SMS_INBOX)
{
type = MMI_FRM_SMS_INBOX;//短信分类
}
mmi_frm_sms_add_sms_to_list(entry, entryindex);↘
[\plutommi\mmi\MiscFramework\MiscFrameworkSrc\SMSUtil.c]
void mmi_frm_sms_add_sms_to_list(mmi_frm_sms_msgbox_struct *data, U16 index)
case MMI_FRM_SMS_UNREAD:
[... 添加索引到收件箱 ...]
if (i == mmi_frm_sms_msg_check_num)
{
mmi_frm_sms_new_msg_ind(msgbox_index);
}
[…]
}
[\plutommi\mmi\MiscFramework\MiscFrameworkSrc\SMSMsg.c]
void mmi_frm_sms_new_msg_ind(U16 index)
{
[…]
if (mmi_frm_sms_interrupt_handler.msgid== PRT_MSG_ID_MMI_SMS_DELIVER_MSG_IND)
{
mmi_frm_sms_interrupt_handler.callback((void*)data, MOD_MMI, MMI_FRM_SMS_OK);//callback注册的函数为mmi_msg_handle_new_msg_ind↘
[\plutommi\mmi\messages\messagessrc\SmsPsHandler.c]
void mmi_msg_set_protocol_event_handler(void)
{
mmi_frm_sms_reg_interrupt_check(MOD_MMI, PRT_MSG_ID_MMI_SMS_DELIVER_MSG_IND, mmi_msg_handle_new_msg_ind);
[…]
}
//对比mmi_msg_set_protocol_event_handler与mmi_frm_sms_set_protocol_event_handler,这两个函数都使用了 PRT_MSG_ID_MMI_SMS_DELIVER_MSG_IND
break;
[…]
}
3.2.3、新短信提示
收到新短信之后,弹出“新短信”提示,如果当前处在待机界面,则显示新短信来自,并更改左软键为 [读取]。
[\plutommi\mmi\Messages\MessagesSrc\MessagesMiscell.c]
void mmi_msg_new_msg_ind(U16 index)
{
[...]
#ifdef __UNIFIED_MESSAGE_SIMBOX_SUPPORT__
mmi_msg_entry_new_sim_msg_ind();
#else /* __UNIFIED_MESSAGE_SIMBOX_SUPPORT__ */
mmi_msg_entry_new_msg_ind();//新短信查看入口
[...]
mmi_frm_sms_get_list_index(&type, &list_index, g_msg_cntx.msg_ind_index);↘
[\plutommi\mmi\miscframework\miscframeworksrc\SMSCore.c]
void mmi_frm_sms_get_list_index(U16 *type, U16 *index, U16 msgbox_index)
mmi_frm_sms_get_sms_list_index(type, index, msgbox_index);↘
void mmi_frm_sms_get_sms_list_index(U16 *type, U16 *index, U16 msgbox_index)
while (i < mmi_frm_sms_inbox_size)[...]
while (i < mmi_frm_sms_outbox_size)[...]
while (i < mmi_frm_sms_bizbox_size)[...]//扩展功能
[...]
mmi_msg_entry_new_msg_popup(MSG_NEW_MSG_NORMAL);// 1. 弹出新短信提示框
#endif /* __UNIFIED_MESSAGE_SIMBOX_SUPPORT__ */
[...]
}
void mmi_msg_entry_new_msg_ind(void)
{
[...]
g_msg_cntx.msg_ind_after_call = FALSE;
if (IsKeyPadLockState() == 0)
{
ShowCategory154Screen(
0,
0,
STR_SCR6035_LSK,
IMG_SMS_COMMON_NOIMAGE,
STR_GLOBAL_BACK,
IMG_SMS_COMMON_NOIMAGE,
(PU8) GetString(STR_NEW_MESSAGE_FROM_ID),//在待机界面显示“消息来自:”
(PU8) mmi_msg_get_new_msg_ind_string(),
IMG_NEW_MESSAGE_NOTIFICATION_MSG_IN_IDLE,
NULL);
SetRightSoftkeyFunction(mmi_msg_go_back_from_new_msg_ind, KEY_EVENT_UP);
SetLeftSoftkeyFunction(mmi_msg_get_msg_new, KEY_EVENT_UP);// 左软键[读取]
SetKeyHandler(mmi_msg_end_key_from_new_msg_ind, KEY_END, KEY_EVENT_DOWN);
}
[…]
}
完整版本请见 http://www.51qianru.cn/bbs/
曙海教育
曙海嵌入式学院3G通信培训中心
(MTK培训,Android培训,iPhone培训)
电话:021-51875830
网址:http://www.51qianru.cn
讲师:李现路
版权所有-曙海教育 转发请注明出处
安装之前最好先备份一下一些重要文件 从你描述的情况来看,rtl8187se和在BT3下的表现一样 没有客户端不显示隐藏ssid 关于minileaf兄弟的slitaz2.6.33.1.iso rtl8187se测试 U盘启动CDLINUX后,能到网卡 比较 复杂呢。懒的看 看起来不错啊 碉堡了。这东西都有 714电路和614基本无异,信号弱到那种地步肯定是个案
页:
[1]