android设置系统默认开机时间
1.设置RTC时间,该时间是如果RCT时钟断电以后使用的默认时间
Android L之前:
\alps\mediatek\custom\[project]\preloader\ inc\cust_rtc.h
\alps\mediatek\custom\[project]\kernel\rtc\rtc\rtc-mt65XX.h
Android L或M:
bootable\bootloader\preloader\custom\ [project] \inc\ cust_rtc.h
#define RTC_DEFAULT_YEA 2019
#define RTC_DEFAULT_MTH 7
#define RTC_DEFAULT_DOM 1
2、修改默认日期:
framework\services\java\com\android\server\NetworkTimeUpdateService.java
/** Initialize the receivers and initiate the first NTP request */
public void systemReady() {
registerForTelephonyIntents();
registerForAlarms();
registerForConnectivityIntents(); mThread = new HandlerThread(TAG);
mThread.start();
mHandler = new MyHandler(mThread.getLooper());
// Check the network time on the new thread
mHandler.obtainMessage(EVENT_POLL_NETWORK_TIME).sendToTarget(); mSettingsObserver = new SettingsObserver(mHandler, EVENT_AUTO_TIME_CHANGED);
mSettingsObserver.observe(mContext); /// M: comment @{ add GPS Time Sync Service
Log.d(TAG, "add GPS time sync handler and looper");
mGpsThread = new HandlerThread(TAG);
mGpsThread.start();
mGpsHandler = new MyHandler(mGpsThread.getLooper()); mGpsTimeSyncObserver = new GpsTimeSyncObserver(mGpsHandler, EVENT_GPS_TIME_SYNC_CHANGED);
mGpsTimeSyncObserver.observe(mContext);
/// @} /// M: Configure default date/time to current year after factory reset or first bootup @{
String icsString = SystemProperties.get(ICS_BOOT_SYS_PROPERTY, "");
boolean isIcsVersion = (icsString != null && "".equals(icsString)) ? false : true;
if(isIcsVersion){
return;
} mDefaultYear = mContext.getResources().getInteger(com.mediatek.internal.R.integer.default_restore_year);
mIsOverMobile = mContext.getResources().getBoolean(com.mediatek.internal.R.bool.config_ntp_by_mobile); 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(today.monthDay, today.month, mDefaultYear);
today.set(1, 7, mDefaultYear);//2019.7.1
Log.d(TAG, "Set the year to " + mDefaultYear);
SystemProperties.set(BOOT_SYS_PROPERTY, "false");
SystemClock.setCurrentTimeMillis(today.toMillis(false));
}
}
///@}
}
在mediatek\frameworks\base\res\res\values\config.xml里修改
<integer name="default_restore_year"></integer>
android设置系统默认开机时间的更多相关文章
- Android 通过应用设置系统日期和时间的方法
Android 通过应用设置系统日期和时间的方法 android 2.3 android 4.0 测试可行,不过需要ROOT权限. ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 ...
- Linux date命令 - 显示和设置系统日期与时间
操作系统上的时间也许只是当做一个时钟.特别在控制台下, 我们通常并不认为时间有什么重要的.但是对于管理员,这种认识是错误的.你知道错误的日期和时间会导致你不能编译程序么? 因为日期和时间很重要,这或许 ...
- CentOS下date命令 - 显示和设置系统日期与时间
显示系统日期 要显示系统日期,只要输入: $ date Thu Dec 5 22:55:41 WIB 2013 格式化显示日期 日期有很多格式.如果你不喜欢默认的格式,你可以换一种格式.你可能会想&q ...
- 【VC++技术杂谈002】打印技术之获取及设置系统默认打印机
本文主要介绍如何获取以及设置系统的默认打印机. 1.获取系统中的所有打印机 获取系统中的所有打印机可以使用EnumPrinters()函数,该函数可以枚举全部的本地.网络打印机信息.其函数原型为: B ...
- 查看linux系统的开机时间/重启历史记录
查看linux系统的开机时间/重启历史记录1.who -b命令[root@rusky opt]# who -b ---查看最后一次(上次)系统启动的时间 system boot Dec 27 05:0 ...
- Android系统移植与调试之------->如何修改Android设备的默认休眠时间
1.找到~/mx0831-0525/frameworks/base/packages/SettingsProvider/res/values/ defaults.xml文件 2.修改默认休眠时间 3. ...
- Android设置里面默认存储器选项(default write disk)的实现
原生的Android设置里面没有默认存储器的选项,可是MTK偏偏加上了这个功能,可能MTK认为这个比較实用吧,所以,他们在原生的基础上面做了改动.加上了这个功能.可是高通平台没有这个功能.相对MTK来 ...
- date - 打印或设置系统日期和时间
总览 date [选项]... [+格式] date [选项] [MMDDhhmm[[CC]YY][.ss]] 描述 根据指定格式显示当前时间或设置系统时间. -d, --date=STRING 显示 ...
- linux通过python设置系统默认编码
import sys sys.reload() sys.getdefaultencoding() # 查看设置前系统默认编码 sys.setdefaultencoding('utf-8') sys.g ...
随机推荐
- iView 实战系列教程(21课时)_1.iView 实战教程之配置篇_图片优化
首先需要安装vue cli 3.0版本 点击添加插件, 输入iview 选中后安装 全部导入还是按需导入. 2.是否需要自定义主题变量 3.多语言的设置. 这里我们全部选择为默认 然后点击继续. 启动 ...
- KETTLE——(一)资源库
对KETTLE有了大概的了解,pdi-ce-6.0.1.0-386也下载完成了. 1.解压pdi-ce-6.0.1.0-386.zip文件,双击运行Spoon.bat(KETTLE是Java开发的,运 ...
- 阅读jdk源码的流程(从今天开始要阅读jdk源码)
1.java.lang 2.java.util 3.java.util.concurrent 4.java.util.concurrent.atomic 5.java.lang.reflect 6.j ...
- Vue路由注意事项
一.vue中路由的使用 1.定义组件 <template> <div class="hello"> <h1 @click="info&quo ...
- 创建Maven项目时,出现系列的错误提示的修改方法
1.创建Maven项目成功之后,需要修改一些配置, (1).java版本改为“本系统中java的版本号” 问题一:(2).Dynamic Web Module的version要改为2.5以上,然而本人 ...
- 小白学Python(15)——pyecharts 绘制树形图表 Tree
Tree-基本示例 import json import os from pyecharts import options as opts from pyecharts.charts import P ...
- jmeter 线程数—请求数详解
一个性能测试请求负载是基于一个线程组完成的.一个测试计划必须有一个线程组.测试计划添加线程组非常简单.在测试计划右键弹出下拉菜单(添加-->Threads(Users)--->线程组)中选 ...
- P3379 【模板】最近公共祖先(LCA)(欧拉序+rmq)
P3379 [模板]最近公共祖先(LCA) 用欧拉序$+rmq$维护的$lca$可以做到$O(nlogn)$预处理,$O(1)$查询 从这里剻个图 #include<iostream> # ...
- 前端写代码自动刷新神器Browsersync
Browsersync能让浏览器实时.快速响应您的文件更改(html.js.css.sass.less等)并自动刷新页面. 更重要的是 Browsersync可以同时在PC.平板.手机等设备下进项调试 ...
- IMAP协议学习笔记(一)
IMAP IMAP(Internet Mail Access Protocol,Internet邮件访问协议)以前称作交互邮件访问协议(Interactive Mail Access Protocol ...