Android Android 2.3设置出厂默认时间无效

前言
         欢迎大家我分享和推荐好用的代码段~~
声明
         欢迎转载,但请保留文章原始出处:
         CSDN:
http://www.csdn.net
         雨季o莫忧离:http://blog.csdn.net/luckkof

正文

 

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

Android Android 2.3设置出厂默认时间无效,,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。