[DESCRIPTION]

手机第一次开机默认是没有定制时区的(默认是GMT:+00:00),但是会有一个默认日期,如2013年1月1日。

如何客制化默认时区以及时间呢?

[Solution]

一、修改默认时间

1、修改RTC默认日期:

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         2012
#define RTC_DEFAULT_MTH        2
#define RTC_DEFAULT_DOM        1

2、修改默认日期:

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

systemReady()
……if(isFirstBoot){Time today = new Time(Time.getCurrentTimezone());today.setToNow();   // 将时间恢复到RTC时间today.set(1, 0, mDefaultYear ); //设立出厂默认日期,mDefaultYear是默认年份

如果想恢复出厂设置后,系统时间不变,可使用today.setToNow();

如果想恢复出厂设置后,系统时间也恢复成出厂时间,可使用today.set(1, 0, mDefaultYear );

这个today.set方法有6个参数的重载,可以精确到秒,具体使用方法请自行查询API,所以在这里设置系统默认时间就可以了。

如果要設置出廠默認年份需要修改

1)   mediatek\frameworks\base\res\res\values\config.xml将default_restore_year 修改成 2013

(Android L:vendor\mediatek\proprietary\frameworks\base\res\res\values)

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

修改后的表现可通过Setting菜单->时间日期设置):

3、修改默认时区:

在系统属性中增加下面字段(假设改为Moscow)

Android L之前:

mediatek\config\[project]\system.prop

Android L:

device\mediatek\[project]\system.prop

persist.sys.timezone = Europe/Moscow注意:默认时区的修改会影响默认时间的值,会根据与格林尼治标准时间差来更新时间,这是正常现象。如当前设置为中国标准时间GMT+8:00,则手机的出厂时间会变为8:00。

【MTK】如何修改出厂默认日期和默认时区相关推荐

  1. 2021-01-14 Android系统修改出厂默认语言

    Android系统修改出厂默认语言 一.方法一,修改\build\target\product\languages_full.mk文件,从PRODUCT_LOCALES里选择第一个语言作为默认语言,下 ...

  2. element plus 日期组件默认为英语,修改为中文的方法

    项目需要使用日期选择组件,使用el-date-picker日期组件,结果打开一看默认为英语. 未修改前的代码如下 <template><div style="padding ...

  3. 修改oracle默认日期格式,更改Oracle的默认日期格式

    Oracle的日期格式默认设置是DD-MON-YY,这种日期格式并不满足我们中国人的使用习惯. 为了改变这种显示格式,我们需要设置NLS_DATE_FORMAT来改变. 1.临时性的改变(PL/SQL ...

  4. SQL Server 2005/2008 用户数据库文件默认路径和默认备份路径修改方法

    2019独角兽企业重金招聘Python工程师标准>>> 一直想把数据库的默认路径修改一下,在网上找了一下,真的发现有办法 , 特拿 来与大家共同分享. 以下仅为参照,如果有多个实例, ...

  5. Python可视化matplotlib自定义:运行时参数修改、自定义样式、默认样式+plt.style.use()

    Python可视化matplotlib自定义:运行时参数修改.自定义样式.默认样式+plt.style.use() 目录 Python可视化matplotlib自定义:运行时参数修改.自定义样式.默认 ...

  6. python修改手机默认语言_修改 CentOS 6.x 上默认Python的方法

    最近在工作中遇到一个问题,就是有一个功能希望在各种服务器上实现,而服务器上的系统版本可能都不一样,有的是 CentOS 6.x,有的是 CentOS 7.x . 需要说明的一点是,CentOS 6.x ...

  7. mysql创建表的时候日期给个默认值_mysql 创建表时 日期字段默认值为当前时间...

    mysql 创建表时 日期字段默认值为当前时间 mysql version 5.1 在mysql创建表的时候经常会遇到创建日期字段需要设置当前时间为默认值的时候,就如sqlserver2000一样,把 ...

  8. jQuery ligerUI中通过ligerDateEditor设置默认日期

    ligerEditor API简介 $("#txt1").ligerDateEditor({ showTime: true, label: '带时间', labelWidth: 1 ...

  9. easyui修改css样式,修改easyui的easyloader的默认css目录路径

    easyloader默认情况下会使用js文件所在目录下的themes文件夹中的css,这里改成项目自定义的css文件夹. 首先找到: var m=src.match(/easyloader\.js(\ ...

最新文章

  1. vue树形结构html,怎么在vue中利用递归组件实现一个树形控件
  2. 查看LoadRunner脚本请求日志和服务器返回值方法
  3. 学会Python,我们可以从事哪几类工作呢?
  4. 保持你的决心——《传说之下》背后的设计之道
  5. 使用HttpClient消费ASP.NET Web API服务
  6. html如何查看文档,查看文档
  7. 【Java】优雅停机时的一点思考
  8. 如何搭建python框架_从0到1告诉你搭建完整Python+requests接口自动化测试框架!
  9. python 多线程 异步_python 多线程异步
  10. [BalticOI2014]Friends/[BZOJ4287]新三个和尚
  11. 【8.16校内测试】【队列】【数学】【网络流/二分图最大匹配】
  12. 上下文路径request.getContextPath();与${pageContext.request.contextPath}
  13. CentOS6.7系统优化加强牢固脚本
  14. x50pro怎么升级鸿蒙系统,被央视点赞的vivo X50 Pro拍照如何?实测告诉你
  15. php半透明,php水印代码,php半透明水印支持png透明背景
  16. Eclipse运行结果中文为乱码的问题
  17. 关于一次定时任务删除数据库aud文件的记录
  18. 前端面试题精选(3)
  19. 【codevs 2382】挂缀
  20. 期末考试【学堂在线答案】信息素养——学术研究的必修课(2021秋)

热门文章

  1. 网络营销师职业前景如何?
  2. SQL Server 2008转换成sql 2000数据库
  3. 【电信】ITV 使用心得
  4. 计算机网络基础教案清华,信息技术四年级下册清华教案
  5. 工程经济学 3 项目评价指标和项目比选方法
  6. windows下gvim打开文件显示乱码的解决
  7. STVP STM8 COSMIC C编译器在WIN10上的安装使用( can‘t access configuration database 问题解决方法)
  8. System.out.Print();快捷键 intellij idea public static void main(String[] args)
  9. 公岸网:公共基础知识必背内容
  10. Oracle使用数据泵expdp导出和impdp导入