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