Android中通过NTP服务器获取时间功能源码分析

https://blog.csdn.net/i2cbus/article/details/21550901

1 相关文件:
frameworks\base\services\java\com\android\server\ SystemServer.java
frameworks\base\services\java\com\android\server\ NetworkTimeUpdateService.java
frameworks\base\core\java\android\util\NtpTrustedTime.java
frameworks\base\core\java\android\net\SntpClient.java
frameworks\base\core\res\res\values\config.xml
--------------------- 

几个关键的变量:
mPollingIntervalMs
当NTP时间获取成功后,再次请求NTP时间的间隔
mPollingIntervalShorterMs
当NTP时间获取失败后,再次请求NTP时间的间隔
mTimeErrorThresholdMs
当NTP时间和系统时间不相同时,要更新系统时间的阀值
这几个变量的值是通过资源文件里读取的,配置的地址为config.xml,来看看相关的内容:
---------------------  
作者:i2cbus  
来源:CSDN  
原文:https://blog.csdn.net/i2cbus/article/details/21550901  
版权声明:本文为博主原创文章,转载请附上博文链接!

Android 系统时间更新机制研究

https://blog.csdn.net/pengtgimust/article/details/52469016

Android 7.1.1时间更新NITZ和NTP详解

https://blog.csdn.net/yin1031468524/article/details/65447849?utm_source=tuicool

最近在项目中遇到手机首次插上移动卡时不能自动更新时间的问题,就特意跟了下Android系统中手机时间更新有两种方式NTP和NITZ,下面先来看看NTP和NITZ的简介
NITZ:Network Identity and Time Zone(网络标识和时区),是一种用于自动配置本地的时间和日期的机制,需要运营商支持,可从运营商获取时间和时区具体信息。
NTP:Network Time Protocol(网络时间协议),用来同步网络中各个计算机的时间的协议。在手机中,NTP更新时间的方式是通过GPRS或wifi向特定服务器获取时间信息(不包含时区信息)。
接着我们来看看两种方式具体更新流程

4、NITZ和NTP的总结 
①NITZ的优先级要高于NTP的优先级,当NITZ更新系统时间后,NTP即使触发更新条件,也会检查NITZ更新时间距今是否超过864000000毫秒(10天,config_ntpPollingInterval),若不满10天,则重设Alarm并取消此次NTP更新请求。②NITZ主要依赖于运营商上报,NTP则主要依赖于网络环境,NITZ通过被动接收获取时间,NTP通过访问NtpServer获取网络时间,最后都是通过调用SystemClock.setCurrentTimeMillis更新手机时间。 

Android 通过 NTP 获取网络时间

https://www.jianshu.com/p/ca10702401ba

根据系统根据 NTP 获取时间流程,实现自己的网络时间获取也就不难了,主要是 SntpClientNtpTrustedTime 这两个类来实现的,但是是 @hide

 

 

更多相关文章

  1. Android之开源中国UI库(持续更新)
  2. android之 JNI端获取并操作Surface
  3. [android]Android异步处理系列文章索引
  4. Android(安卓)SDK Manager 更新
  5. android 获取路径目录方法
  6. ArcGis Android(安卓)10.2.6更新文档翻译
  7. XE8 (RTM) Android(安卓)SDK 更新安装
  8. Android Studio 自动更新失败解决方法
  9. android 获取路径目录方法

随机推荐

  1. 蓝牙搜索显示结果到ListView(十分精简)
  2. USER 版本与ENG 版本差异
  3. Android(安卓)UI基础 仿闲鱼发布页
  4. android插件化研究
  5. Android(安卓)Room VS GreenDao
  6. Android(安卓)AIDL整理
  7. Android(安卓)控件之DatePicker,TimePick
  8. 基于TCP/IP协议的Java服务端与Android客
  9. Android(安卓)Fragment的简单应用
  10. android 4中新增的日历处理相关API