InitNetWorkBootUpEventsCallBack
SetProtocolEventHandler(NetWorkAttachedIndication, PRT_NW_ATTACH_IND);
NetWorkAttachedIndication
ck_network_sim_ext (ck_Network_SIM2_ext)
ck_Download_param
ck_reg_at_boot
seg_cai_ini //開機下載參數
ck_Download_param
如果不是主卡就提示查入主卡
開機註冊:ck_send_reg_cmd_sms
(CMD,STN,06,00000000000,123456623412653,0000,01,0000)
ck_bg_send_msg_ext
彈出註冊中的提示框,清除退出按鍵事件
1分鐘沒有收到短信讀出 註冊未成功
如果有凱立德50秒進入send_oper_after_makecall_req
上報位置
IdleApp.c
SetKeyHandler(StartOneKeyLongPressHandler, KEY_GPS, KEY_EVENT_LONG_PRESS);
SetKeyHandler(StartOneKeyUPHandler,KEY_GPS,KEY_EVENT_UP);
1. onekeylongpress --à
(ext_cld_navi )
cld_custwp_get_navi_scr_id()==GetActiveScreenId()
||IsScreenPresent((U16)cld_custwp_get_navi_scr_id()) //當前或前一個screen是否是凱立德界面
Y ck_checkandNav();
ck_OKIS_ISregisted() 註冊否
ck_is_card1_absent() 是否是主卡
Y ----- ck_register_submitdialg() //撥號註冊
N ----- 提示插入主卡
ck_nav_go() //一鍵導航已經開啓
ck_DoNav()
ck_get_uppos_setup()
Y ------- cking_interface_0x1F();
N-------- mmi_NAV_upok_ind_handle(0) //打電話
N ck_checkandNavormap()
2. mmi_gps_idle_enter_setting()
mmi_gps_enter_setting();
短信攔截
mmi_sms_handle_new_msg_ind(srv_sms_event_struct *event_data)
ck_recive_msg(event_data)
1. 創建new srv_sms_event_new_sms_struct 和 srv_sms_new_msg_struct
Event_info new_msg_data
2. 對其賦值 event_info = event_data->event->info;
New_msg_data = event_data->msg_data;
Dcs = new_msg_data->dcs;
3. 當dcs = 4時,event_info->count指針指向的是數據的第2個字節
當dcs = 0時,len = new_msg_data->message_len/2;
把dcs轉換成udc碼
4. 判斷是否是處理過的信息。Bret = IsSameMessage(new_msg_data);
IsSameMessage函數判斷的依據是:1。短信的msgid 2。短信時間
返回 bret (true false)
5. bret = false
ck_read_sms_hanlder(S8* pContent,U16 length,U16 dcs,U16 msgid)
CovertStringForCkHandleSms((U8*)pContent,lenth,dcs,&datalen);
把ASSIC轉換成UDC
檢查是否是seg短信 checkIsSegHandlerSMS(pdata)
檢查是否是GPS短信 checkIsGPSHandlerSms(pdata,null)
InsertReadMsgID(msgid); //在開闢的一個數組中找一個可以存儲短信位置的空間
ck_read_sms_process()
GetReadMsgID() //獲得短信ID
判斷當前ID == 0Xffff
Y ck_sms_read_msg(gb_curmsgid,TRUE,ck_read_sms_callback)
Srv_sms_is_sms_ready()
N ck_read_sms_callback()
mmi_sms_result_enum
SMS_RESULT_OK
Y seg_sms_new_sms_ind
GPS_handle_SMS
srv_sms_delete_msg_bg
N ck_read_sms_process
Y srv_sms_msg_data_struct msg_data
Msg_data->para_flag = SRV_SMS_PARA_CONTENT_BUFF
Msg_data->content_buff
Msg_data->content_buff_size()
srv_sms_read_msg(msg_id,change_status,msg_data,ck_sms_read_msg_rsp,(void*)callback_func);
ck_sms_read_msg_rsp() //設置msg_status的狀態
N gb_startReadMsg=FALSE;
gb_curmsgid=VALID_CACHE_MSG_ID;
6. seg_sms_new_sms_ind
GPS_handle_SMS
CacheMessage(new_msg_data);
srv_sms_delete_msg_bg