正文
[DESCRIPTION]
如何修改為出廠時區為指定的時區和默認的日期?
[Solution]
時間信息預設信息都是0, 在rtc 初試化時候設置的.
由於RTC 基本上不會斷電,所以它的初試化隻做一次,即使重新download bin 檔.
用FlashTool 執行Format, 再執行download (不要用format –>download button), 或者RTC斷電一段時間,就可以觀察到日期恢復到出廠值。
修改默認日期:
修改文件
\alps\mediatek\custom\[project]\preloader\ inc\cust_rtc.h
\alps\mediatek\custom\[project]\kernel\rtc\rtc\rtc-mt65XX.h
#define RTC_DEFAULT_YEA 2012
#define RTC_DEFAULT_MTH 2
#define RTC_DEFAULT_DOM 1
在JB之前,進行以上修改即可,如果是JB,還需要進行以下修改:
[File]
framework\services\java\com\android\server\NetworkTimeUpdateService.java
[Function]
systemReady()
[Code]
if(isFirstBoot){
Time today = new Time(Time.getCurrentTimezone());
today.setToNow(); // 請添加此行
如果要設置出廠默認年份需要修改
1) JB.SP/JB2.MP
alps\mediatek\frameworks\base\res\res\values\config.xml
將 default_restore_year 修改成 2013
<!– default year for first power on–>
<integer name="default_restore_year">2013</integer>
2) JB.MP
alps\frameworks\base\services\java\com\android\server\NetworkTimeUpdateService.java
if(today.year <= 2010){
today.set(today.monthDay, today.month, 2013);
Log.d(TAG, "Set the year to 2013");
SystemProperties.set(BOOT_SYS_PROPERTY, "false");
SystemClock.setCurrentTimeMillis(today.toMillis(false));
}
修改後的表現可通過Setting菜單->時間日期設置):
修改默認時區:
在系統屬性中增加下面字段(假設改為Moscow)
路徑:\alps\mediatek\config\[project]\system.prop
persist.sys.timezone = Europe/Moscow
註意:默認時區的修改會影響默認時間的值,會根據與格林尼治標準時間差來更新時間,這是正常現象。如當前設置為中國標準時間GMT+8:00,則手機的出廠時間會變為8:00。