配色: 字号:
MTK--接口
2012-08-06 | 阅:  转:  |  分享 
  
MTK--接口

MTK--去掉触摸屏校验

去掉触摸屏校验先找到SimDetection.c文件中的CallBackPowerOnAnimationComplete函数中的#ifndef?#ifndef__MTK_TARGET__?if(PhnsetNeedFactoryDefaultCalibration()&&!AUTO_POWER)?#else?if(PhnsetNeedFactoryDefaultCalibration())?#endif

将判断条件改为

?#ifndef__MTK_TARGET__?if(0)?#else?if(0)?#endif

即可实现

--------------------------------------------------

MTK--mp3调声音大小

如果想增大音量直接调用:

?mmi_audply_press_inc_volume这个接口。

如果想减小音量直接调用:

?mmi_audply_press_inc_volume这个接口

------------------------------------------------

MTK--电池告警

当电量低于一定的电压时便会产生电池告警:

在LowBatteryCommonAction这个函数中,会弹出一个BatteryIndicationPopup(STR_LOW_BATTERY);

低电量的屏

------------------------------------------------

MTK---系统重启

调用RstStartRestore函数

------------------------------------------------

MTK--重启手机

调用ex_reboot,或者断言可以重启机器

------------------------------------------------

MTK--audioplay

音频播放器主要有:播放,下一首,上一首,暂停,停止几个按钮。

它们的接口如下:

mmi_audply_press_play_button_down();mmi_audply_press_play_button_up();

mmi_audply_press_next_button_down();mmi_audply_press_next_button_up();

mmi_audply_press_prev_button_down();mmi_audply_press_prev_button_up();

mmi_audply_press_play_button_down();mmi_audply_press_play_button_up();

mmi_audply_press_stop_button_down();mmi_audply_press_stop_button_up();

播放和暂停是同一个按钮,当第一次按的时候是播放,再次按下就是暂停,主要控制g_audply.state的

状态。

-----------------------------------------------

MTK----获取系统当前时间

定义一个保存当前时间的结构体:

typedefstruct{?U8hour;?U8min;?U8sec;?U8month;?U8day;?U8local;?U16year;}Btl_Log_Time;

MYTIMEinit_time;

调用获取当前时间的函数:

GetDateTime(&init_time);

curr_time.year=init_time.nYear;curr_time.month=init_time.nMonth;curr_time.day=init_time.nDay;curr_time.hour=init_time.nHour;curr_time.min=init_time.nMin;curr_time.sec=init_time.nSec;

------------------------------------------------

MTK--添加中文字库

添加简体中文字库说明

1.?替换中文字库

?将L_1_DiallingFont.h,L_1_Pluto_Large.h,L_1_Pluto_Medium.h,L_1_Pluto_Small.h,L_1_SubLCDFont.h

?L_Pluto_ch_GB2312.h,L_virtual_keyboard_font.h替换到//vendor\font\MTK\project\plutommi\content\inc\MainLcd176X220

?目录下;

?将FontRes.c替换到//vendor\font\MTK\project\plutommi\content\src\MainLcd176X220目录下;

?将FontRes.c替换到//plutommi\Customer\CustResource目录下。

2.?打开编译开关

?(注:这段代码在MMI_featuresPLUTO.h这个文件的744行左右)

?在MMI_featuresPLUTO.h文件中找到如下代码:

?#ifdefDEMO_PROJECT

#if!defined(ARIMA27_BB)

?//#define__MMI_LANG_TR_CHINESE__

#endif

?//#define__MMI_LANG_SM_CHINESE__

#endif

在这段代码之前填加一条语句:

#define__MMI_LANG_SM_CHINESE__

如下面代码所示:

#define__MMI_LANG_SM_CHINESE__

#ifdefDEMO_PROJECT

#if!defined(ARIMA27_BB)

?//#define__MMI_LANG_TR_CHINESE__

#endif

?//#define__MMI_LANG_SM_CHINESE__

#endif

这样便可打开编译简体中文字库的编译开关。

重新编译即可。

--------------------------------------------

MTK----短信计数的接口

短信计数的接口:

InitSMSCounter(void);

InitNvramSMSCounters()

{

?S16error;

?ReadValue(NVRAM_SMSCOUNTERS_SENT_SHORT,&chis_p->nSendSMSCount,DS_SHORT,&error);?if(chis_p->nSendSMSCount==0xffff)?{?chis_p->nSendSMSCount=0;?}

??ReadValue(NVRAM_SMSCOUNTERS_RECD_SHORT,&chis_p->nRecvSMSCount,DS_SHORT,&error);??if(chis_p->nRecvSMSCount==0xffff)?{?chis_p->nRecvSMSCount=0;?}

?return;

}

------------------------------------------------

MTK--非易失性内存数据服务

配置指南

?要配置数据项,添加或删除一个数据项,或者仅修改某个缺省值,参看以下五个步骤:

1〉?在nvram_user_defs.h文件里,定义一个新的逻辑数据项的LID至nvram_LID_cust_enum枚举。

2〉?在nvram_user_defs.h文件里,定义两个常量:SIZE和TOTAL。

Linear-fixed:total>1;size为每一条记录的大小

Transparent:total=1;size为每一个数据项实体的大小

注意:由于Flash设备驱动的约束,size定义必须为偶数对齐。

3〉?在nvram_user_config.c文件里,定义该新逻辑数据项的缺省值。

注意缺省值的size必须等于第二步中定义的size大小。

4〉?定义该新逻辑数据项的属性至logical_data_item_table_cust

定义新数据项和其属性,logical_data_item_table_cust数据结构由NVRAM数据服务内部管理。必须定义的数据结构域:

1〉?LID

2〉?Size

3〉?Total

4〉?Defaultvalue:

如果该值为NULL,缺省值为所有字节置0xFF.

如果该值为NVRAM_EF_ZERO_DEFAULT,缺省值为所有字节置0x00.

5〉?Attributes:

可以为单个数据项赋予多个属性,使用|操作。

6〉?OtherfieldsNVRAM数据服务保留;不要修改它们。

5〉?在nvram_user_config.c文件里修改版本号CODED_DATA_VERSION

每次数据项配置修改,必须修改版本号。数据版本不限于指定的字符,但是长度必须为7bytes.

2约束

1.数据项的Size定义必须为偶数对齐,最大为65535。

2.Linearfixed数据项的最大记录数为65535.

?以上的最大值为理论值,可能会因为超出Flash空间而不能正常工作,依赖于Flash设备驱动配置。此外,一部分空间是为协议栈使用,用户可配置的数据项是受限制的。

?当前,测试的安全值如下:

1.?Size最大480

2.?Total最大300

3.?用户可配置的数据项最大值25

3.2FieldsinPrimitives原语中的域

1.当发送read/write请求原语至NVRAM任务,如果数据项为transparent,’para’域必须为1;

2.当发送write请求原语至NVRAM任务,被写入的数据的大小size必须等于在nvram_user_config.c中定义的数据项的大小size.

3.read/write确认原语成功返回值‘result’域为:NVRAM_ERRNO_OK,NVRAM_ERRNO_INIT.

----------------------------------------------------------------

MTK----获取IMSI

获取IMSI的代码实现部分:

仅供参考:

?voidbtl_send_msg_get_imsi(void){?MYQUEUEMessage;??SetProtocolEventHandler(btl_sim_imsi_rsp,PRT_GET_IMSI_RSP);?Message.oslSrcId=MOD_MMI;?Message.oslDestId=MOD_L4C;?Message.oslMsgId=PRT_GET_IMSI_REQ;?Message.oslDataPtr=NULL;?Message.oslPeerBuffPtr=NULL;?OslMsgSendExtQueue(&Message);?kal_prompt_trace(MOD_MMI,"btl_send_msg_get_imsi");}

voidbtl_sim_imsi_rsp(voidinfo){?mmi_smu_get_imsi_rsp_structlocal_data=(mmi_smu_get_imsi_rsp_struct)info;?kal_prompt_trace(MOD_MMI,"btl_sim_imsi_rsp1");?memcpy(imsi_imei_num,(char)local_data->imsi,17);?kal_prompt_trace(MOD_MMI,"btl_sim_imsi_rsp2");}

--------------------------------------------------------

MTK----获取IMEI

代码实现部分:

仅供参考:

voidbtl_send_msg_get_imei(void){?MYQUEUEMessage;?kal_prompt_trace(MOD_MMI,"btl_sim_send_get_imei");?//ClearInputEventHandler(MMI_DEVICE_ALL);?SetProtocolEventHandler(btl_sim_imei_rsp,MSG_ID_MMI_NW_GET_IMEI_RSP);?Message.oslMsgId=MSG_ID_MMI_NW_GET_IMEI_REQ;?Message.oslDataPtr=NULL;?Message.oslPeerBuffPtr=NULL;?Message.oslSrcId=MOD_MMI;?Message.oslDestId=MOD_L4C;?OslMsgSendExtQueue(&Message);//msg_send_ext_queue?SetProtocolEventHandler(btl_sim_imei_rsp,MSG_ID_MMI_NW_GET_IMEI_RSP);?kal_prompt_trace(MOD_MMI,"btl_send_msg_get_imei");}

voidbtl_sim_imei_rsp(voidinfo){?mmi_nw_get_imei_rsp_structimei=(mmi_nw_get_imei_rsp_struct)info;?strcat(imsi_imei_num,"");?strcat(imsi_imei_num,(char)imei->imei);?kal_prompt_trace(MOD_MMI,"btl_sim_imei_rsp");}

-------------------------------------------------------

MTK----改变CAMERACAPTURE的路径

实现代码:

?staticvoidmmi_camera_get_next_filename(PS8file_buf_p){#ifdef__BTL_MOD__?MYTIMEtime;?charfilename[128];

?GetDateTime(&time);??if(g_btl_log_ctx.camera_snap.warn_num==0)?{?kal_wsprintf((WCHAR)file_buf_p,"D:\\Photos\\Usual_pic\\IMG%d%02d%02d%02d%02d%02d.jpg",?time.nYear,time.nMonth,time.nDay,time.nHour,time.nMin,time.nSec);?pfnUnicodeStrcpy((S8)g_btl_log_ctx.get_usual_name.name,(S8)file_buf_p);?}?else?{?kal_wsprintf((WCHAR)file_buf_p,"D:\\Photos\\Warn_pic\\IMG%d%02d%02d%02d%02d%02d.jpg",?time.nYear,time.nMonth,time.nDay,time.nHour,time.nMin,time.nSec);?pfnUnicodeStrcpy((S8)g_btl_log_ctx.get_warning_name.name,(S8)file_buf_p);?}??pfnUnicodeStrcpy((S8)g_btl_log_ctx.get_usual_name.name,(S8)file_buf_p);?dt_ucs2_to_ascii((WCHAR)file_buf_p,(WCHAR)filename);?kal_prompt_trace(MOD_MMI,"get_next_filename:?%s",filename);?#else?S8buffer[25];?S8UCS2_buffer[50];?S8UCS2_testname[50];?S8UCS2_alpha[10];?S16error=0;?U16filename_seq_no;?U16alpha_count;?U16alpha_index;?FS_HANDLEfile_handle;?U16file_check=0;??ReadValue(NVRAM_CAM_FILENAME_SEQ_NO,&filename_seq_no,DS_SHORT,&error);?if(filename_seq_no==0xffff)?{?filename_seq_no=1;??}?else?{?filename_seq_no++;?if(filename_seq_no>9999)?{?filename_seq_no=1;?}?}

?alpha_count=''Z''-''A''+1;?alpha_index=0;

?sprintf((PS8)buffer,"IMG%04d",filename_seq_no);?AnsiiToUnicodeString((PS8)UCS2_buffer,(PS8)buffer);

?while(1)?{?sprintf((PS8)buffer,"%c",''A''+alpha_index);?AnsiiToUnicodeString((PS8)UCS2_alpha,(PS8)buffer);

?UCS2Strcpy(UCS2_testname,UCS2_buffer);?UCS2Strcat(UCS2_testname,UCS2_alpha);?UCS2Strcat(UCS2_testname,(PS8)L".jpg");

?UCS2Strcpy((PS8)file_buf_p,(PS8)g_camera_cntx.storage_filepath);?UCS2Strcat((PS8)file_buf_p,(PS8)UCS2_testname);

?file_handle=FS_Open((U16)file_buf_p,FS_READ_ONLY);

?if(file_handle>=0)?{??FS_Close(file_handle);?alpha_index++;?}?else?{??WriteValue(NVRAM_CAM_FILENAME_SEQ_NO,&filename_seq_no,DS_SHORT,&error);?return;?}

??if(alpha_index>=alpha_count)?{?alpha_count=''Z''-''A''+1;?alpha_index=0;?filename_seq_no++;?file_check++;?if(filename_seq_no>9999)?{?filename_seq_no=1;?}?sprintf((PS8)buffer,"IMG%04d",filename_seq_no);?AnsiiToUnicodeString((PS8)UCS2_buffer,(PS8)buffer);

??if(file_check>=9999)?return;?}?}#endif}

献花(0)
+1
(本文系小云蔡首藏)