当前位置:   article > 正文

Android 系统时间自动更新机制--解决 “时间和日期不准确“_android 11自动更新时间

android 11自动更新时间

两种时间更新机制

NITZ

NITZ(Network Identity and Time Zone,网络标识和时区),是一种用于自动配置本地的时间和日期的机制,同时也通过无线网向移动设备提供运营商信息。NITZ是自从PHASE 2+ RELEASE 96 的GSM中的可选功能,经常被用来自动更新移动电话的系统时钟。NITZ需要运营商网络支持(通过CS网络),目前国内电信、移动都支持NITZ方式更新时间日期,而联通目前不支持。

参考: https://en.wikipedia.org/wiki/NITZ

NTP

NTP:NTP(Network Time Protocol)提供准确时间,首先要有准确的时间来源,这一时间应该是国际标准时间UTC。 NTP获得UTC的时间来源可以是原子钟、天文台、卫星,也可以从Internet上获取。这样就有了准确而可靠的时间源。时间按NTP服务器的等级传播。与NITZ不同的是,NTP需要从专门的NTP服务器来获取时间,只要手机连接上网络,都可以实现时间的更新。

参考: https://en.wikipedia.org/wiki/Network_Time_Protocol

Android如何更新系统时间

Android有一个专门的系统服务 NetworkTimeUpdateServcie来负责更新系统时间,该服务在系统启动时在SystemServer.java中被创建:

  1. if (!disableNetwork && !disableNetworkTime) {
  2. try {
  3. Slog.i(TAG, "NetworkTimeUpdateService");
  4. networkTimeUpdater = new NetworkTimeUpdateService(context);
  5. } catch (Throwable e) {
  6. reportWtf("starting NetworkTimeUpdate service", e);
  7. }
  8. }
  9. ...
  10. ...
  11. try {
  12. if (networkTimeUpdaterF != null) networkTimeUpdaterF.systemRunning();
  13. } catch (Throwable e) {
  14. reportWtf("Notifying NetworkTimeService running", e);
  15. }
<
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/594110
推荐阅读
相关标签
  

闽ICP备14008679号