真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

android時區(qū),安卓設(shè)置時區(qū)

android 怎么修改出廠默認(rèn)日期和默認(rèn)時區(qū)

[DESCRIPTION]

10年積累的網(wǎng)站設(shè)計制作、網(wǎng)站設(shè)計經(jīng)驗,可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識你,你也不認(rèn)識我。但先網(wǎng)站設(shè)計后付款的網(wǎng)站建設(shè)流程,更有眉縣免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。

如何修改為出廠時區(qū)為指定的時區(qū)和默認(rèn)的日期?

[Solution]

時間信息預(yù)設(shè)信息都是0, 在rtc 初試化 時候設(shè)置的.

由于RTC 基本上不會斷電,所以它的初試化只做一次,即使重新download bin 檔.

用FlashTool 執(zhí)行Format, 再執(zhí)行download (不要用format --download button), 或

者RTC斷電一段時間,就可以觀察到日期恢復(fù)到出廠值。

修改RTC默認(rèn)日期:

修改文件

\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

修改默認(rèn)日期:

在JB之前,進(jìn)行以上修改即可,如果是JB以后,還需要進(jìn)行以下修改:

(如果下面的修改還是無效,請參考FAQ08916,F(xiàn)AQ08719,F(xiàn)AQ07606)

[File]

framework\services\java\com\android\server\NetworkTimeUpdateService.java

[Function]

systemReady()

[Code]

if(isFirstBoot){

Time today = new Time(Time.getCurrentTimezone());

today.setToNow(); // 將時間恢復(fù)到RTC時間

today.set(1, 0, mDefaultYear ); //設(shè)立出廠默認(rèn)日期,mDefaultYear是默認(rèn)年份

如果想恢復(fù)出廠設(shè)置后,系統(tǒng)時間不變,可使用today.setToNow();

如果想恢復(fù)出廠設(shè)置后,系統(tǒng)時間也恢復(fù)成出廠時間,可使用today.set(1, 0, mDefaultYear );

這個today.set方法有6個參數(shù)的重載,可以精確到秒,具體使用方法請自行查詢API,所以在這里設(shè)

置系統(tǒng)默認(rèn)時間就可以了。

如果要設(shè)置出廠默認(rèn)年份需要修改

1) 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)

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));}

修改后的表現(xiàn)可通過Setting菜單-時間日期設(shè)置):

修改默認(rèn)時區(qū):

在系統(tǒng)屬性中增加下面字段(假設(shè)改為Moscow)

路徑:\alps\mediatek\config\[project]\system.prop

persist.sys.timezone = Europe/Moscow

注意:默認(rèn)時區(qū)的修改會影響默認(rèn)時間的值,會根據(jù)與格林尼治標(biāo)準(zhǔn)時間差來更新時間,這是正常

現(xiàn)象。如當(dāng)前設(shè)置為中國標(biāo)準(zhǔn)時間GMT+8:00,則手機(jī)的出廠時間會變?yōu)?:00。

如何修改android系統(tǒng)默認(rèn)時區(qū)

android平臺,經(jīng)常會遇到產(chǎn)品需要更改系統(tǒng)默認(rèn)時區(qū)日期時間的問題。android更改時區(qū)相對比較容易實現(xiàn),網(wǎng)上也有很多資料,直接設(shè)置一個屬性即可,例如設(shè)置上海東八區(qū),persist.sys.timezone=Asia/Shanghai。但是如何實現(xiàn)更改默認(rèn)系統(tǒng)時間呢?

在android中,Linux內(nèi)核中、rtc時鐘,默認(rèn)的起始日期都是1970年1月1日,那么如何把默認(rèn)日期指到2012-01-01呢?筆者在實踐中發(fā)現(xiàn),在RTC驅(qū)動中可以很容易實現(xiàn)。在RTC驅(qū)動加載的時候,一般都有個probe函數(shù)需要先執(zhí)行,因此在probe函數(shù)里下手最直接有效。RTC從1970-01-01開始,那當(dāng)然很容易把默認(rèn)值設(shè)置到2012-01-01,所需要設(shè)置的seconds也就是從1970-01-01所差的秒數(shù),以秒為單位。因此,一旦讀出來的RTC值小于我們預(yù)想的值比如2012-01-01(1325402913)小,我們就把它設(shè)置到這個時間點(diǎn)。

 

seconds = rtc_read_time();

printk("init PMU/RTC time to %ld \n", seconds);

if(seconds = 1325402913) {

seconds = 1325402913;/*2012-01-01*/

ret = rtc_set_time(seconds);

RTC_DBG("Init Set time: %ld, ret =0x%x\n", seconds, ret);

}

筆者通過結(jié)果顯示,在android平臺上是可行的。要設(shè)置到哪天幾點(diǎn)幾分,只要算好具體1970-01-01 00:00差的秒數(shù)即可,簡單明了。這樣客戶、用戶使用起來更方便一些。

問:怎么修改android系統(tǒng)默認(rèn)時區(qū)

這個today.set方法有6個參數(shù)的重載,可以精確到秒,具體使用方法請自行查詢API,所以在這里設(shè)

置系統(tǒng)默認(rèn)時間就可以了。

如果要設(shè)置出廠默認(rèn)年份需要修改

1) 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)

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));}

修改后的表現(xiàn)可通過Setting菜單-時間日期設(shè)置):

如何Android 添加一個新的時區(qū)

解決方案:以加入Nigeria時區(qū)為例,應(yīng)該如下修改:

1.找到該國家在zoneinfo中的時區(qū)信息。

區(qū)信息的文件可以從下載到最新的,解壓tzdata201x*.tar.gz后,在每個地區(qū)的txt文件中有城市的時區(qū)信息,搜索是否有您要添加的城市,則該時區(qū)可以添加;如果沒有搜索到相關(guān)的國家或城市,則需要考慮使用別的城市的時區(qū)。

比如在africa.txt中搜索Nigeria,可以找到下面的內(nèi)容:

# Nigeria

# Zone NAME GMTOFF RULES FORMAT [UNTIL]

Zone Africa/Lagos 0:13:36 - LMT 1919 Sep

1:00 - WAT

這樣可以看到,尼日利亞只有一個城市可以作為時區(qū)ID,這個ID就是Africa/Lagos。

2.修改packages/apps/Settings/res/xml-xx-xx/timezones.xml (xx-xx表示不同的語言和區(qū)域),添加下面的內(nèi)容:

!-- timezones.xml 用于在setting中增加一個時區(qū)設(shè)置項 --

timezone id="Africa/Lagos"Lagos/timezone

3.修改framework/base/core/res/res/xml/time_zones_by_country.xml,添加下面的內(nèi)容

!--time_zones_by_country.xml 這個用于自動匹配時區(qū)時使用,通過country code找一個時區(qū) --

!-- Nigeria, 1:00 --

timezone code="ng"Africa/Lagos/timezone

!-- 這里的code="ri"表示國家代碼,比如中國對應(yīng)cn,美國對應(yīng)us,不清楚可以維基百科查詢ISO_3166-1--

這是添加一個時區(qū)的步驟,如果要添加多個時區(qū),請重復(fù)或批量執(zhí)行以上步驟。

關(guān)于安卓手機(jī)app開發(fā)中時區(qū)設(shè)置

安卓開發(fā)app有時候存在時區(qū)的設(shè)置,可能有時候這樣設(shè)置時區(qū)

AlarmManager mAlarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);

mAlarmManager.setTimeZone("GMT+08:00");

導(dǎo)致其他應(yīng)用時間發(fā)生錯亂,可以修改這樣設(shè)置時區(qū),或許可以解決問題

TimeZone chinaTimeZone = TimeZone.getTimeZone("GMT+8");

TimeZone.setDefault(chinaTimeZone);


網(wǎng)頁標(biāo)題:android時區(qū),安卓設(shè)置時區(qū)
文章起源:http://weahome.cn/article/dsdscph.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部