赞
踩
mmi_bootup_is_network_searching_complete() //查询网络中SIM1卡
mmi_bootup_is_sim2_network_searching_complete() //查询网络中SIM2卡
share_GetIMSI() //得到IMSI
发短信:进入s8* number U16* content U16 dcs SrvSmsCallbackFunc callback
1.申请SMS_HANDLE句柄
2.sms_handele初始化srv_sms_get_send_handle()
3.判断srv_sms_is_bg_send_action_busy()繁忙
4.srv_sms_set_address(send_handle,number) //设置发送地址
number是unc2 mmi_ucs2ncpy app_ucs2_strncpy
asc mmi_asc_n_to_ucs2 app_asc_str_n_to_ucs2_str
5.srv_sms_set_content_dcs(send_handle, dcs) //设置DCS
6.编码转化
uds2 size = (mmi_wcslen(content) + 1) * 2;
7bit/8bit size = strlen((s8 *)content) + 1;
7.srv_sms_set_content(send_handle,(s8 *)content,size) //设置内容
8.设置那个卡发送
E_MTPNP_AD_SIMCARD_USABLE_SIDE state = MTPNP_AD_Get_UsableSide(); 得到卡的类型
srv_sms_set_sim_id(send_handle, SRV_SMS_SIM_1); //设置为那个SM1卡发送
9. srv_sms_send_msg(send_handle, ck_bg_send_msg_cb, NULL); //发送请求 并有回调
ClearKeyHandler(U16 keyCode, U16 keyType)
DisplayPopup(U8 *string, U16 imageId, U8 imageOnBottom, U32 popupDuration, U8 toneId) //水平显示一个提示框
DisplayPopupRotated(U8 *string, U16 imageId, U8 imageOnBottom, U32 popupDuration, U8 toneId,mmi_frm_screen_rotate_enum rotation) //可以设置方向的显示
MMI_FRM_SCREEN_ROTATE_0
MMI_FRM_SCREEN_ROTATE_MIRROR_0,
SMS_HANDLE sms_handle;
srv_sms_handle_struct *sms_hd = (srv_sms_handle_struct *)sms_handle;
srv_sms_int_msg_data_struct *int_msg_data = NULL;
srv_sms_send_handle_struct *send_hd = (srv_sms_send_handle_struct *)smd_hd->hd_data;
typedef void* SMS_HANDLE;
typedef struct
{
srv_sms_action_enum action;
void *hd_data;
} srv_sms_handle_struct;
typedef enum
{
srv_sms_action_none,
SRV_SMS_ACTION_SEND,
SRV_SMS_ACTION_READ,
SRV_SMS_ACTION_DELETE,
SRV_SMS_ACTION_SAVE,
SRV_SMS_ACTION_UPDATE,
SRV_SMS_ACTION_COPY,
SRV_SMS_ACTION_MOVE,
SRV_SMS_ACTION_QUERY,
SRV_SMS_ACTION_CHANGE_STATUS,
SRV_SMS_ACTION_MOVE_TO_ARCHIVE,
SRV_SMS_ACTION_GET_CONTENT,
SRV_SMS_ACTION_GET_SIM_NUM,
SRV_SMS_ACTION_GET_REPLY_PATH,
SRV_SMS_ACTION_TOTAL
}srv_sms_action_enum;
电话拦截
MakeCall 53_09 35_09
mmi_ucm_call_launch 35_09 修改待机拨号
短信拦截
mmi_sms_handle_new_msg_ind 35_09
mmi_frm_sms_new_sms_ind 53_09
mmi_frm_sms_delete_sms
srv_sms_event_struct *event_data;
srv_sms_event_new_sms_struct *event_info;
srv_sms_new_struct *new_msg_data;
event_info = (srv_sms_event_new_sms_struct *)event_data->event_info;
new_msg_data = (srv_sms_new_struct *)event_data->msg_data;
typedef struct
{
MMI_EVT_PARAM_HEADER
void *event_info;
} srv_sms_event_struct
#define MMI_EVT_PARAM_HEADER
U16 evt_id;
U16 size;
void *user_data;
typedef struct
{
U16 msg_id;
U8 *content;
void *msg_data;
} srv_sms_event_new_sms_struct;
typedef struct
{
U16 msg_id;
U16 dest_port;
U16 src_port;
U16 message_len;
U16 ref; /* concat. message reference */
U8 number[SRV_SMS_MAX_ADDR_LEN + 1];
U8 sc_number[SRV_SMS_MAX_ADDR_LEN + 1];
MYTIME timestamp;
U8 total_seg; /* total segments */
U8 seg; /* indicate which segment */
U8 dcs;
U8 mti;
U8 pid;
U8 fo;
U8 data[1];
srv_sms_sim_enum sim_id;
srv_sms_storage_enum storage_type;
} srv_sms_new_msg_struct;
#define SRV_SMS_MAX_ADDR_LEN 21
typedef struct MYTIME
{
kal_uint16 nYear;
kal_uint8 nMonth;
kal_uint8 nDay;
kal_uint8 nHour;
kal_uint8 nMin;
kal_uint8 nSec;
kal_uint8 DayIndex; /* 0=Sunday */
} MYTIME;
typedef enum
{
SRV_SMS_SIM_1 = MMI_GSM | MMI_SIM1,
SRV_SMS_SIM_2 = MMI_GSM | MMI_SIM2,
SRV_SMS_SIM_TOTAL
} srv_sms_sim_enum;
typedef enum
{
SRV_SMS_STORAGE_ME,
SRV_SMS_STORAGE_SIM,
SRV_SMS_STORAGE_UNSPECIFIC
} srv_sms_storage_enum;
typedef enum
{
SMSAL_DEFAULT_DCS = 0x00, /* GSM 7-bit */
SMSAL_8BIT_DCS = 0x04, /* 8-bit */
SMSAL_UCS2_DCS = 0x08, /* UCS2 */
SMSAL_RESERVED_DCS = 0x0c, /* reserved alphabet,
currently, MMI shall display "not support alphabet"
or "cannot display" when receive dcs indicated this value */
SMSAL_EXT_DCS = 0x10 /* Special dcs for non-standard character,
used by MMI and EMS */
} smsal_dcs_enum;
srv_sms_msg_data_struce
/* Message Data Struture */
typedef struct
{
S8 number[(SRV_SMS_MAX_ADDR_LEN + 1) * ENCODING_LENGTH];
srv_sms_status_enum status;
srv_sms_mti_enum mti;
/* TP-Status, for Status Report */
U8 tp_st;
srv_sms_folder_enum folder_id;
srv_sms_para_enum para_flag;
srv_sms_storage_enum storage_type;
srv_sms_sim_enum sim_id;
MYTIME timestamp;
S8 sc_address[(SRV_SMS_MAX_ADDR_LEN + 1) * ENCODING_LENGTH];
srv_sms_pid_enum pid;
srv_sms_vp_enum vp;
MMI_BOOL status_report;
MMI_BOOL reply_path;
U16 src_port;
U16 dest_port;
srv_sms_dcs_enum dcs;
srv_sms_class_enum msg_class;
U16 content_buff_size;
S8 *content_buff;
S8 *content_file_path;
void *content_ems;
} srv_sms_msg_data_struct;
typedef enum
{
SRV_SMS_STATUS_NONE = 0x00,
SRV_SMS_STATUS_UNREAD = 0x01,
SRV_SMS_STATUS_READ = 0x02,
SRV_SMS_STATUS_SENT = 0x04,
SRV_SMS_STATUS_UNSENT = 0x08,
SRV_SMS_STATUS_DRAFT = 0x10,
SRV_SMS_STATUS_UNSUPPORTED = 0x20
} srv_sms_status_enum;
/* Message Type Indication */
typedef enum
{
SRV_SMS_MTI_DELIVER = 0x00,
SRV_SMS_MTI_DELIVER_REPORT = 0x00,
SRV_SMS_MTI_SUBMIT = 0x01,
SRV_SMS_MTI_SUBMIT_REPORT = 0x01,
SRV_SMS_MTI_STATUS_REPORT = 0x02,
SRV_SMS_MTI_COMMAND = 0x02,
SRV_SMS_MTI_RESERVED = 0x03
} srv_sms_mti_enum;
/* Message Folder Type */
typedef enum
{
SRV_SMS_FOLDER_DEFAULT,
SRV_SMS_FOLDER_ARCHIVE,
SRV_SMS_FODLER_TOTAL
} srv_sms_folder_enum;
/* SMS Parameter Flag */
typedef enum
{
SRV_SMS_PARA_NONE = 0x00000000,
SRV_SMS_PARA_NUM = 0x00000001,
SRV_SMS_PARA_SCA = 0x00000002,
SRV_SMS_PARA_PID = 0x00000004,
SRV_SMS_PARA_DCS = 0x00000008,
SRV_SMS_PARA_VP = 0x00000010,
SRV_SMS_PARA_STATUS_REPORT = 0x00000020,
SRV_SMS_PARA_REPLY_PATH = 0x00000040,
SRV_SMS_PARA_PORT = 0x00000080,
SRV_SMS_PARA_CLASS = 0x00000100,
SRV_SMS_PARA_MMS = 0x00000200,
SRV_SMS_PARA_FO = 0x00000400,
SRV_SMS_PARA_STATUS = 0x00000800,
SRV_SMS_PARA_SIM_ID = 0x00001000,
SRV_SMS_PARA_STORAGE_TYPE = 0x00002000,
SRV_SMS_PARA_TIMESTAMP = 0x00004000,
SRV_SMS_PARA_CONTENT_EMS = 0x00008000,
SRV_SMS_PARA_CONTENT_BUFF = 0x00010000,
SRV_SMS_PARA_CONTENT_FILE = 0x00020000
} srv_sms_para_enum;
/* Message Storage Type */
typedef enum
{
SRV_SMS_STORAGE_ME,
SRV_SMS_STORAGE_SIM,
SRV_SMS_STORAGE_UNSPECIFIC
} srv_sms_storage_enum;
/* SIM Card Type */
typedef enum
{
SRV_SMS_SIM_1 = MMI_GSM | MMI_SIM1,
SRV_SMS_SIM_2 = MMI_GSM | MMI_SIM2,
SRV_SMS_SIM_TOTAL
} srv_sms_sim_enum;
/* Protocol Identifier */
typedef enum
{
SRV_SMS_PID_DEFAULT = 0x00, /* Text SMS */
SRV_SMS_PID_EMAIL = 0x32, /* Internet Electronic Mail */
SRV_SMS_PID_TYPE_0 = 0x40, /* Short Message Type 0 */
SRV_SMS_PID_REPLACE_TYPE_1 = 0x41, /* Replace Short Message Type 1 */
SRV_SMS_PID_REPLACE_TYPE_2 = 0x42, /* Replace Short Message Type 2 */
SRV_SMS_PID_REPLACE_TYPE_3 = 0x43, /* Replace Short Message Type 3 */
SRV_SMS_PID_REPLACE_TYPE_4 = 0x44, /* Replace Short Message Type 4 */
SRV_SMS_PID_REPLACE_TYPE_5 = 0x45, /* Replace Short Message Type 5 */
SRV_SMS_PID_REPLACE_TYPE_6 = 0x46, /* Replace Short Message Type 6 */
SRV_SMS_PID_REPLACE_TYPE_7 = 0x47, /* Replace Short Message Type 7 */
SRV_SMS_PID_RETURN_CALL_MSG = 0x5F, /* Return Call Message */
SRV_SMS_PID_ANSI_136_RDATA = 0x7C, /* ANSI-136 R-DATA */
SRV_SMS_PID_ME_DOWNLOAD = 0x7D, /* ME Data Download */
SRV_SMS_PID_ME_DE_PERSONAL = 0x7E, /* ME De-personalization Short Message */
SRV_SMS_PID_SIM_DOWNLOAD = 0x7F, /* (U)SIM Data Download */
SRV_SMS_PID_RESERVED
} srv_sms_pid_enum;
/* Validity-Period */
typedef enum
{
SRV_SMS_VP_1_HR = 11,
SRV_SMS_VP_6_HR = 71,
SRV_SMS_VP_12_HR = 143,
SRV_SMS_VP_24_HR = 167,
SRV_SMS_VP_72_HR = 169,
SRV_SMS_VP_1_WEEK = 173,
SRV_SMS_VP_MAX = 255
} srv_sms_vp_enum;
/* SMS DCS */
typedef enum
{
SRV_SMS_DCS_7BIT = 0x00, /* GSM 7 bit default alphabet */
SRV_SMS_DCS_8BIT = 0x04, /* 8 bit data */
SRV_SMS_DCS_UCS2 = 0x08, /* UCS2 (16bit) */
SRV_SMS_DCS_RESERVED = 0x0c
} srv_sms_dcs_enum;
/* Message Class Type */
typedef enum
{
SRV_SMS_CLASS_0 = 0x00,
SRV_SMS_CLASS_1 = 0x01,
SRV_SMS_CLASS_2 = 0x02,
SRV_SMS_CLASS_3 = 0x03
} srv_sms_class_enum;
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。