声明:本资料归本公司同事整理提供
修改默认输入法
方法1:
common_mmi_cache_config.c
NVRAM_SETTING_PREFER_INPUT_METHOD 默认值
延伸:
common_mmi_cache_byte
默认语言:NVRAM_SETTING_LANG
默认城市:CURRENT_CITY
默认java的网络参数配置:
BYTE_ENTRY(NVRAM_JAVA_SETTING_PROF_ID, 0x02),
BYTE_ENTRY(NVRAM_JAVA_SETTING_PROF2_ID, 0x02),
默认wap 网络参数配置:
SHORT_ENTRY(NVRAM_WAP_PROF_ACTIVE_WAP_PROFILE_INDEX, 0x02, 0x02),
SHORT_ENTRY(NVRAM_WAP_PROF_ACTIVE_MMS_PROFILE_INDEX, 0x02, 0x02),
方法2:
Nv项默认值为0xff,然后nv项版本号升级
SetInputMethodFromNVRAM函数中修改
NVRAM_SETTING_PREFER_INPUT_METHOD
修改蓝牙名称
BTMMICM.c
MMI_BT_DEF_HOST_BT_NAME= { 'M', 'T', 'K', 'B', 'T', 'D', 'E', 'V', 'I', 'C', 'E', '/0' };
NVRAM_EF_BT_INFO_LID
#define NVRAM_EF_BT_INFO_LID_VERNO "011" //modify
(mmi_bth_init—> mmi_bth_init_freshdev_defaultà mmi_bth_nvram_write_info)
号码匹配
NVRAM_EF_SYS_CACHE_OCTET_DEFAULT
卡1/卡2是否插卡
MTPNP_AD_Get_Card1Status() != MTPNP_AD_SIMCARD_ABSENT
MTPNP_AD_Get_Card2Status() != MTPNP_AD_SIMCARD_ABSENT)
卡1/卡2是否可用
E_MTPNP_AD_SIMCARD_USABLE_SIDE MTPNP_AD_Get_UsableSide(void);
typedef enum
{
MTPNP_AD_DUALSIM_UNUSABLE = MTPNP_AD_FLIGHT,
MTPNP_AD_SIMCARD1_NOSIM_USABLE = MTPNP_AD_CARD1,
MTPNP_AD_SIMCARD2_NOSIM_USABLE = MTPNP_AD_CARD2,
MTPNP_AD_SIMCARD1_USABLE=MTPNP_AD_CARD1| MTPNP_AD_SIMCARD_VALID,
MTPNP_AD_SIMCARD2_USABLE=MTPNP_AD_CARD2| MTPNP_AD_SIMCARD_VALID,
MTPNP_AD_DUALSIM_USABLE= (MTPNP_AD_CARD1 | MTPNP_AD_SIMCARD_VALID) + (MTPNP_AD_CARD2 | MTPNP_AD_SIMCARD_VALID)
} E_MTPNP_AD_SIMCARD_USABLE_SIDE;
If(MTPNP_AD_Get_UsableSide() >= MTPNP_AD_SIMCARD1_USABLE)
判断网络:
Public Land Mobile Network -- 公共陆地移动(通信)网络
判断网络ID
卡1:memcmp(gHomePLMNNum, "51011", 5)
卡2:memcmp(gHomePLMNNum_2, "51011", 5)
gPLMN 手机卡1当前接入网络的网络ID
gPLMN_2 手机卡2当前接入网络的网络ID
中国移动:46000 46002
中国联通:46001
IMEI号(International Mobile Station Equipment Identity -- 国际移动台设备识别):手机设备的ID 又称手机串号,国际标准查询指令 *#06#
用4位二进制数来表示1位十进制数中的0~9这10个数码,简称BCD码
static kal_uint8 const NVRAM_EF_IMEI_IMEISV_DEFAULT[] =
{
/*355093016307403*/
0x53, 0x05, 0x39, 0x10, 0x36, 0x70, 0x04, 0xF3, /*The IMEI is 15 digit */
0x87, /* Software version number */
0x01, /* Padding */
0x53, 0x05, 0x39, 0x10, 0x36, 0x70, 0x04, 0xF1, /*The IMEI is 15 digit */
0x87, /* Software version number */
0x01 /* Padding */
};
获得IMEI号:消息MSG_ID_MMI_NW_GET_IMEI_REQ,目的task,消息RSP响应函数
static void APPLE_OS_RequestIMEIRsp(void *msg_buf)
{
mmi_nw_get_imei_rsp_struct *imeiresponse = (mmi_nw_get_imei_rsp_struct*) msg_buf;
if ((imeiresponse) && (imeiresponse->result == 1))
{
memset(gIMEIBuf,0,16+1);
memcpy((char *)gIMEIBuf, (char *) imeiresponse->imei,16);
}
}
void APPLE_OS_RequestIMEI()
{
MYQUEUE Message;
Message.oslMsgId = MSG_ID_MMI_NW_GET_IMEI_REQ;
Message.oslDataPtr = NULL;
Message.oslPeerBuffPtr = NULL;
Message.oslSrcId = MOD_MMI;
Message.oslDestId = MOD_L4C; /* MOD_L4C _2*/
OslIntMsgSendExtQueue(&Message);
SetProtocolEventHandler(APPLE_OS_RequestIMEIRsp, MSG_ID_MMI_NW_GET_IMEI_RSP);
/*SetSlaveProtocolEventHandler(APPLE_OS_RequestIMEIRsp, MSG_ID_MMI_NW_GET_IMEI_RSP);*/
}
IMSI号(国际移动用户识别码(IMSI) International Mobile Subscriber Identity ):卡的ID,手机卡的唯一识别号是imsi号,而不是手机号,运营商后台数据库维护imsi号和手机号的一一映射,所以可以做到换卡不换号
MSI共有15位,其结构如下:
MCC+MNC+MIN
MCC:Mobile Country Code,移动国家码,共3位,中国为460;
MNC:Mobile Network Code,移动网络码,共2位,联通CDMA系统使用03,一个典型的IMSI号码为460030912121001;
获得IMSI号:消息PRT_GET_IMSI_REQ(MSG_ID_MMI_SMU_GET_IMSI_REQ):目的task,消息RSP
void mr_sim1_get_imsi_req(void)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
MYQUEUE Message;
Message.oslSrcId = MOD_MMI;
Message.oslDestId = MOD_L4C;
Message.oslMsgId = PRT_GET_IMSI_REQ;
Message.oslDataPtr = NULL;
Message.oslPeerBuffPtr = NULL;
OslMsgSendExtQueue(&Message);
SetProtocolEventHandler(mr_sim_get_imsi_rsp, PRT_GET_IMSI_RSP);
}
static void mr_sim_get_imsi_rsp(void *msg_p)
{
mmi_smu_get_imsi_rsp_struct *local_data_p = (mmi_smu_get_imsi_rsp_struct*) msg_p;
kal_prompt_trace(MOD_MMI,"mr_sim_get_imsi_rsp local_data_p->result=%d",local_data_p->result);
if (local_data_p->result == ST_SUCCESS)
{
memset(gIMSI,0,sizeof(gIMSI));
memcpy(gIMSI,local_data_p->imsi+1, 16);
}
kal_prompt_trace(MOD_MMI,"gIMSI=%s",gIMSI);