Android Android 2.3设置出厂默认时间无效
2014-03-11 09:50
423 查看
[b]前言
欢迎大家我分享和推荐好用的代码段~~
声明
欢迎转载,但请保留文章原始出处:
CSDN:http://www.csdn.net
雨季o莫忧离:http://blog.csdn.net/luckkof[/b]
正文
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 ---
欢迎大家我分享和推荐好用的代码段~~
声明
欢迎转载,但请保留文章原始出处:
CSDN:http://www.csdn.net
雨季o莫忧离:http://blog.csdn.net/luckkof[/b]
正文
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 恢复出厂设置后,时间不能恢复为:2013年1月1日
- Android定制出厂默认输入法(其他设置类似)
- android 中对 gps 默认关闭+语言默认中文的设置+时区设置+修改系统名字+修改系统默认时间+修改屏幕休眠时间+修改usb debug默认关闭+mtk修改默认字体大小
- android 中对 gps 默认关闭+语言默认中文的设置+时区设置+修改系统名字+修改系统默认时间
- android 中对 gps 默认关闭+语言默认中文的设置+时区设置+修改系统名字+修改系统默认时间+修改屏幕休眠时间
- [RK3288][Android6.0] 调试笔记 --- 开机设置默认出厂时间方法
- android 恢复出厂设置之后如何将时间变为初始值
- Android 恢复出厂设置(系统时间不修改)
- Android闹钟启动时间设置无效问题的解决方法
- Android设置默认时间
- Android定制出厂默认输入法(其他设置类似)
- android 中对 gps 默认关闭+语言默认中文的设置+时区设置+修改系统名字+修改系统默认时间+修改屏幕休眠时间+修改usb debug默认关闭+mtk修改默认字体大小
- Android设置系统默认时间
- MTK平台修改默认时间,以及恢复出厂设置后的默认时间显示
- android HttpUrlConnection 设置超时无效,等待时间很长的问题
- android 2.3 调整屏幕的默认超时时间
- Android——Launch 默认 壁纸 设置
- tp-link 路由器回复出厂默认设置( 小莫)
- android设置默认输入法
- android 设置时间和日期