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系统中TextView实现滚动效果
  2. 推荐几本可以深入了解android系统应用开发的书籍
  3. Android 系统自带图标
  4. Android监听网络变化
  5. 《Android系统学习》第十一章:Android应用程序Activity组件分析
  6. android API版本对应的系统版本及Android获取手机和系统版本等信
  7. android 系统自带主题样式及自定义主题样式
  8. Android调用系统设置,Android调用系统设置中的某个设置
  9. android系统中自带的图标大全

随机推荐

  1. Android Bluetooth蓝牙开发\蓝牙协议\
  2. Android内部存储改变读取权限
  3. Android使用XML全攻略
  4. android上使用XML
  5. android强大的SpannableStringBuilder
  6. Android解析XML(PULL)展示到ListView
  7. android与C++的选择
  8. 安装Android的SDK--中文教程(完整版,包括Ec
  9. Android指纹解锁调用
  10. android 中Message、Handler、Message Qu