改进过的MTK通过后台自动发短信的函数

 BOOL RCT_SIM1_StartUp(void)
{
 if(MTPNP_AD_Get_Startup_Mode() == MTPNP_AD_NVRAM_DUALCARD ||
  MTPNP_AD_Get_Startup_Mode() == MTPNP_AD_NVRAM_CARD1)
 {
  return TRUE;
 }
 else
 {
  return FALSE;
 }
}

BOOL RCT_SIM2_StartUp(void)
{
 if(MTPNP_AD_Get_Startup_Mode() == MTPNP_AD_NVRAM_DUALCARD ||
  MTPNP_AD_Get_Startup_Mode() == MTPNP_AD_NVRAM_CARD2)
 {
  return TRUE;
 }
 else
 {
  return FALSE;
 }
}

BOOL   RCT_Get_Card1Status(void)
{
 if(MTPNP_AD_Get_Card1Status() == MTPNP_AD_SIMCARD_VALID)
  return TRUE;
 else
  return FALSE;
}
BOOL RCT_Get_Card2Status(void)
{
 if(MTPNP_AD_Get_Card2Status() == MTPNP_AD_SIMCARD_VALID)
  return TRUE;
 else
  return FALSE;
}

BOOL mmi_send_message(char *pPhoneNum, char *pMessageContent, unsigned char dcs)
{
       mmi_sms_send_msg_req_struct *sendmessage = NULL;
       S8 tmp;
       U8 i;
       U16 msg_len = 0;
 BOOL is_SIM_1=0;

 if(RCT_SIM1_StartUp() == TRUE &&RCT_Get_Card1Status() == TRUE)
 {
  is_SIM_1=1;
 }
 else if (RCT_SIM2_StartUp() == TRUE &&RCT_Get_Card2Status() == TRUE)
 {
  is_SIM_1=0;
 }
 else
 {
  is_SIM_1=1;
 }
 if(is_SIM_1==1)
 {
        MTPNP_AD_Free_Channel(MTPNP_AD_SMS_CHANNEL);
        MTPNP_AD_Set_Channel(MTPNP_AD_SMS_CHANNEL, MTPNP_AD_CHANNEL_MASTER);  
 }
 else
 {
  MTPNP_AD_Free_Channel(MTPNP_AD_SMS_CHANNEL);
  MTPNP_PFAL_Active_Slave_SMS(MTPNP_TRUE);
  MTPNP_AD_Set_Channel(MTPNP_AD_SMS_CHANNEL, MTPNP_AD_CHANNEL_SLAVE);  
 }
       sendmessage = (mmi_sms_send_msg_req_struct*)OslConstructDataPtr(sizeof(*sendmessage));
       sendmessage->ref_count = 1;
       sendmessage->msg_len = sizeof(mmi_sms_send_msg_req_struct);
       sendmessage->profile = 0;
       sendmessage->reply_index = MMI_FRM_SMS_INVALID_INDEX;
       sendmessage->para = 0;
       memset(sendmessage->sc_addr.number, 0xff, MAX_CC_ADDR_LEN);
       sendmessage->sc_addr.length = 0xff;
       sendmessage->sc_addr.type = 0xff;
       sendmessage->vp = 0xff;
       sendmessage->pid = 0xff;
       sendmessage->udhi = 0;
       sendmessage->seq_num = 0;
       memset(sendmessage->msg, 0, SMSAL_MAX_MSG_LEN);
       mmi_frm_sms_convert_ascii_num_to_l4_num(&sendmessage->dest, (U8*)pPhoneNum);

       if(SMSAL_DEFAULT_DCS == dcs)
       {
             msg_len = strlen((S8*)pMessageContent);
        }
       else
       {
             msg_len = mmi_ucs2strlen((S8*)pMessageContent) * 2;
             for(i=0; i<msg_len; i+=2)
             {
                     tmp = pMessageContent[i];
                     pMessageContent[i] = pMessageContent[i+1];
                     pMessageContent[i+1] = tmp;
              }


        }

       if(SMSAL_MAX_MSG_LEN < msg_len)
       {
               return FALSE;
       }

       sendmessage->length = msg_len;
       memcpy(sendmessage->msg, (U8*)pMessageContent, sendmessage->length);
 if(is_SIM_1==1)
 {
        mmi_frm_sms_send_message(MOD_MMI,MOD_L4C,0,PRT_MSG_ID_MMI_SMS_SEND_MSG_REQ,(oslParaType*)sendmessage,NULL);  
 }
 else
 {
  MTPNP_PFAL_Send_Message_Segment((void *)sendmessage);  
 }
          return TRUE;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值