mtk平台读写短信总结(载)

mtk平台读写短信总结
mtk平台读写短信总结:
主要有大小字节序的问题-有些地方要切换字节序,全英文和中英文混杂的unicode格式问题-
全英文不是按照unicode存储的,一旦有中文就变成unicode格式,这时候要切换字节序。。。
这些mtk都没有良好的封装,用起来非常的麻烦,二次开发相当曲折。。。追踪了好几天源代码才
搞清楚mtk的体系。。。
写一条短信的方法:
------------------------------------------------------------------------
void sms_write_test(char *msg)
{
// 测试短信保存到发件箱
     MMI_FRM_SMS_SET_MSG_REQ_STRUCT *saveSms;
     S8 *addr = (S8*) "123";
     S8 *text = (S8*)msg;
saveSms->length = UCS2Strlen(text);
for(i=1;i<saveSms->length;i+=2)
         all_english_indicate += text[i];
if(all_english_indicate==0)
     {
char buf[1024];
ucs22utf8(text,buf);
sms_write_english(buf);
return;
}
else
{
saveSms->length = 2*UCS2Strlen(text);
for(i=0;i<saveSms->length;i+=2)
{
tmp = text[i];
text[i]=text[i+1];
text[i+1]=tmp;
}
}
     saveSms->index = MMI_FRM_SMS_INVALID_INDEX;
     memset(saveSms->msg, 0, SMSAL_MAX_MSG_LEN);
     memcpy(saveSms->msg,text,saveSms->length);
     saveSMS = OslMalloc(sizeof(mmi_frm_sms_send_struct));
    SetProtocolEventHandler(my_sms_save_sms_rsp, PRT_MSG_ID_MMI_SMS_SET_MSG_RSP);
     mmi_frm_sms_send_message
(MOD_MMI, MOD_L4C, 0, PRT_MSG_ID_MMI_SMS_SET_MSG_REQ, (oslParaType*) saveSms, NULL);
}
--------------------------------------------------------------------------------
读任何一条短信的方法:
void get_sms_content_call_back(void *inMsg)
{
MMI_FRM_SMS_GET_MSG_RSP_STRUCT *msgRsp = (MMI_FRM_SMS_GET_MSG_RSP_STRUCT*) inMsg;
ucs22utf8((char *)msgRsp->msg_data,tmp_sms_content);
Backup_upload_one_sms(tmp_sms_content);
}
void get_sms_content(int type,int index)
{
MMI_FRM_SMS_GET_MSG_REQ_STRUCT *msgReq;
U16 data[10];
mmi_frm_sms_get_sms_index( type, index, data);
msgReq = (MMI_FRM_SMS_GET_MSG_REQ_STRUCT*) OslConstructDataPtr(sizeof(*msgReq));
msgReq->index = (int)data[0];
SetProtocolEventHandler(get_sms_content_call_back, PRT_MSG_ID_MMI_SMS_GET_MSG_RSP);
mmi_frm_sms_send_message
(MOD_MMI, MOD_L4C, 0, PRT_MSG_ID_MMI_SMS_GET_MSG_REQ, (oslParaType*) msgReq, NULL);
}
void upload_all_sms()
{
get_sms_content(MMI_FRM_SMS_APP_OUTBOX,tmp);
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值