MTK 短消息编程 (发送短信)

来源:互联网 发布:vb程序设计实例 编辑:程序博客网 时间:2024/05/16 08:37

下面这个函数可以写入短信的内容和要发送到的号码直接发短信出去

void mmi_msg_entry_phone_write_msg(void)
{
   

    //S8 *templ;
    EMSData *pEMS;
    history temphistory;
    //U8 result = 0;
    //U16 templateCharNum;
    //U8 *handledBuffer;
    char sendmessage[140];
    U8 ListSmsNumber[MAX_NUMBER];
    U8 index;
    char separator[1] = {','};
    char temp_separator[2] = {0};
   // char  tempNumber[42];
   
   
   
       //memset(&templ, 0, sizeof(templ));
 //mmi_ucs2cpy((S8*)templ,(S8*)message);  
 //templ = message;//GetString(STR_SMS_TEMPLATE_11);
       //templateCharNum = pfnUnicodeStrlen((PS8) templ);
      
    kal_prompt_trace(MOD_ENG,"mmi_msg_entry_phone_write_msg  ");

        memset(sendmessage, 0, sizeof(sendmessage));
        //memset(sendphone, 0, sizeof(sendmessage));
       memset(&temphistory, 0, sizeof(temphistory));
     //  memset(tempNumber, 0, sizeof(tempNumber));
       //handledBuffer = OslMalloc((templateCharNum * 2 + 1) * ENCODING_LENGTH);
       //memset((S8*) handledBuffer, 0, ((templateCharNum * 2 + 1) * ENCODING_LENGTH));

    AnsiiToUnicodeString((S8*)temp_separator, (S8*)(separator)); 
//下面这段是写短信的内容
    //for (index=1; index < V01_set_counter; index++)
    for (index=1; index < 4; index++)
    {
 UCS2Strncat((PS8)sendmessage, (PS8)V01_set_data[index].phone_number,11);
 UCS2Strncat((PS8)sendmessage, (PS8)temp_separator,1);
        if(V01_set_data[index].enable_video)
            {
           memset(selectNote, 0,sizeof(selectNote));
           mmi_ucs2cpy(
                 (S8*) selectNote,
                 (S8*) g_sms_cntx.Note[4]);
         UCS2Strncat((PS8)sendmessage, (PS8)selectNote,UCS2Strlen(selectNote));
            }
        else
            {
           memset(selectNote, 0,sizeof(selectNote));
           mmi_ucs2cpy(
                 (S8*) selectNote,
                 (S8*) g_sms_cntx.Note[3]);
         UCS2Strncat((PS8)sendmessage, (PS8)selectNote,UCS2Strlen(selectNote));
            }
    }


 ReleaseEMSEditBuffer();
 GetEMSDataForEdit(&pEMS, 1);
 EMSSetDCS(pEMS, SMSAL_UCS2_DCS);
       //mmi_frm_sms_handle_extension_char((U16*) handledBuffer, (U16*) templ, templateCharNum);
       AppendCategory28String(
                        INPUT_TYPE_ALPHANUMERIC_SENTENCECASE,
                        pEMS,
                        (U8*) sendmessage,
                        temphistory.guiBuffer);
 //AppendCategory28String(INPUT_TYPE_ALPHANUMERIC_SENTENCECASE, pEMS, (U8*) sendtext, temphistory.guiBuffer);
   
       //OslMfree(handledBuffer);
       //AlmDisableSPOF();
 
#ifdef __MMI_DUAL_SIM_MASTER__
 MTPNP_AD_Free_Channel(MTPNP_AD_SMS_CHANNEL); 
 if(mmi_bootup_is_sim_valid())
 {
 MTPNP_AD_Set_Channel(MTPNP_AD_SMS_CHANNEL, MTPNP_AD_CHANNEL_MASTER); //sim1
 }
 else if(mmi_bootup_is_sim2_valid())
 {
 MTPNP_AD_Set_Channel(MTPNP_AD_SMS_CHANNEL, MTPNP_AD_CHANNEL_SLAVE); //sim2
 }
#else
 if(mmi_bootup_is_sim_valid())
 {
 }
#endif
 else
 {
        DisplayPopup(
            (PU8) GetString(STR_GLOBAL_ERROR),
            IMG_GLOBAL_UNFINISHED,
            1,
            MESSAGES_POPUP_TIME_OUT,
            (U8) ERROR_TONE);
 return ;
 }

        g_msg_cntx.sendMessageCase =SEND_CASE_SEND_FROM_PHB;
  g_msg_cntx.msg_send_info.CurrSendSmsNumbers = 0;
        g_msg_cntx.msg_send_info.TotalSendSmsNumbers = 1; 
       
        kal_prompt_trace(MOD_ENG,"mmi_msg_entry_error_write_msg Phone_Number = %s",Phone_Number);
 //mmi_asc_to_ucs2((S8 *) ListSmsNumber, (S8 *)Phone_Number);
 mmi_ucs2cpy((PS8)g_msg_cntx.smsPhoneNumber, (PS8)(Phone_Number));  //电话号码

      mmi_msg_send_msg_req((U8*) g_msg_cntx.smsPhoneNumber, MMI_FRM_SMS_INVALID_INDEX, 1);

}

原创粉丝点击