Android Android 2.3設定出廠預設時間無效

來源:互聯網
上載者:User

 

 

Android 2.3版本中,在.h檔案中寫入了預設時間後,可能恢復出廠預設值後,時間沒有恢複。 如果希望在download完後第一次開機、恢復出廠預設值後時間恢複到一個初始值,請按照下面步驟修改:

目前可以通過在代碼中指定第一次開機的時間的方法設定出廠時間,具體方法如下:

 

1. 定義全域變數

在NetworkTimeUpdateService.java (frameworksbaseservicesjavacomandroidserver)這個檔案中,在全域變數定義部分加入:

private static final String DECRYPT_STATE = trigger_restart_framework;

private static final String BOOT_SYS_PROPERTY = persist.sys.first_time_boot;

private static int mDefaultYear = 2013;

2. 設定第一次開機時間

同一個檔案,在函數 public void systemReady()最後面加入下面的語句:

//add for first boot time set +++

String tempString = SystemProperties.get(BOOT_SYS_PROPERTY, );

boolean isFirstBoot = (tempString != null && .equals(tempString)) true false;

if(isFirstBoot){

tempString = SystemProperties.get(ro.kernel.qemu, );

boolean isEmulator = 1.equals(tempString) true false;

if(isEmulator){

Log.d(TAG, isEmulator + tempString);

return;

}

 

String decryptState = SystemProperties.get(vold.decrypt, );

Log.d(TAG, decryptState + decryptState);

if(.equals(decryptState) DECRYPT_STATE.equals(decryptState)){

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

today.setToNow();

Log.d(TAG, First boot + tempString + with date + today);

today.set(1, 0, mDefaultYear ); //設定想要設定的日期

Log.d(TAG, Set the year to + mDefaultYear );

SystemProperties.set(BOOT_SYS_PROPERTY, false);

SystemClock.setCurrentTimeMillis(today.toMillis(false));

}

}

//add for first boot time set ---

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.