MTK 根据指定时间隐藏显示菜单

本文只限技术交流  资料来源同事

 

1、增加NVRAM数据定义:

修改文件:/custom/common/pluto_mmi/Custom_mmi_default_value.h

在枚举"BYTEDATA"中的语句"NVRAM_LAST_BYTE_ELEMENT"前加入:

 

#ifdef _MENU_JY_HIDEMENU_ JY_NVRAM_VIEW_TIME_FLAG, #endif

 

 2、设置显示菜单时间

1)修改文件"MMITask.c"在函数void InitAllApplications(void)前加入:

 

 

#ifdef _MENU_JY_HIDEMENU_ void JY_view_time(void) { S16 error; U8 data=0; U16 qz_day=15; U16 qz_month=6; U16 qz_year=2009; WriteValue(JY_NVRAM_VIEW_TIME_FLAG, & data, DS_BYTE, &error); GetDateTime(&main_LCD_dt_object.date.t); if (main_LCD_dt_object.date.t.nYear > qz_year) { data = 1; WriteValue(JY_NVRAM_VIEW_TIME_FLAG, & data, DS_BYTE, &error); } if (main_LCD_dt_object.date.t.nYear == qz_year) { if (main_LCD_dt_object.date.t.nMonth == qz_month) { if (main_LCD_dt_object.date.t.nDay >= qz_day ) { data = 1; WriteValue(JY_NVRAM_VIEW_TIME_FLAG, & data, DS_BYTE, &error); } } if ( main_LCD_dt_object.date.t.nMonth > qz_month) { data = 1; WriteValue(JY_NVRAM_VIEW_TIME_FLAG, & data, DS_BYTE, &error); } } } #endif

2) 修改文件"MMITask.c"在函数void InitAllApplications(void) 体内最后加入:

 

 

#ifdef _MENU_JY_HIDEMENU_ JY_view_time(); #endif

3、控制显示日期

隐藏工具箱下菜单(EntryOrganizer)

 

#include "app_datetime.h" ….. #ifdef _MENU_JY_HIDEMENU_ S16 error; U8 data = 0; #endif EntryNewScreen(ORGANIZER_SCREENID, NULL, EntryOrganizer, NULL); #ifdef _DYMENU_QZ_HIDEMENU_ ReadValue(JY_NVRAM_VIEW_TIME_FLAG, &data, DS_BYTE, &error); if (data == 0) { mmi_frm_hide_menu_item(MENU_ID_DYMENU); } #endif

 

 

 

在6253 09A 上验证通过  不过需要每次开机才能显示

 

你可能感兴趣的:(null,工具,byte,MTK,menu)