位置: 编程技术 - 正文

Android 时间更新机制之网络更新时间(安卓手机更新时间)

编辑:rootadmin

推荐整理分享Android 时间更新机制之网络更新时间(安卓手机更新时间),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:安卓版本时间,android 时间校准,android实时更新数据,安卓版本时间,android实时更新,android 修改时间,android 修改时间,安卓手机怎么更新时间,内容如对您有帮助,希望把文章链接给更多的朋友!

转载请注明出处: SystemServer.java

startOtherServices方法中,会初始化该类实例:

在ActivityManagerService的systemReady方法中,初始化时间更新环境。

涉及代码路径如下: frameworks/base/services/core/java/com/android/server/NetworkTimeUpdateService.java frameworks/base/core/java/android/util/NtpTrustedTime.java frameworks/base/core/java/android/net/SntpClient.java

一、NetworkTimeUpdateService实例

在该构造上,有几个重要的变量: 1、mPollingIntervalMs:多次尝试同步时间无果,天会再次发起时间同步请求 2、mPollingIntervalShorterMs :时间同步超时,再次发起时间同步请求。 3、SERVERLIST:时间同步服务器。此处建议多增加几个时间同步服务器,大陆、美国、台湾等多梯度配置。 4、初始化NtpTrustedTime对象。

一、NetworkTimeUpdateService初始化时间同步环境 开机后,会调用该类的systemRunning方法,在该方法中:

1、registerForTelephonyIntents该方法,注册监听来自Telephony Ril相关的广播。此部分会在moderm相关同步时间中介绍。

Android 时间更新机制之网络更新时间(安卓手机更新时间)

2、registerForAlarms此方法,是配合第“一”中介绍的mPendingPollIntent 来工作的,主要作用是构造handler Message并再次发起时间同步请求。 3、registerForConnectivityIntents此方法监听移动数据连接,移动网络连接后,收到信息,发起时间同步请求。此部分会在moderm相关同步时间中介绍。

4、构建Message,发起时间同步请求。

5、构建监听数据库的Observer,监听来自设置等发起的时间同步请求。在SettingsObserver中构建handler Message请求,发起时间同步。

我们的第二部分,很多地方都会主动或者被动发送Handler Message请求,在我们Handler中,我们是如何处理的那?

三、时间同步请求处理逻辑。 在第二部分,我们讲到了接收的来自Telephony相关的广播,或者数据库变化,我们都会发送Message给Handler,我们的handler是如下处理这些请求的:

接收请求类型:EVENT_AUTO_TIME_CHANGED、EVENT_POLL_NETWORK_TIME、 EVENT_NETWORK_CONNECTED,这些请求逻辑,我们都会发起onPollNetworkTime来进行相关逻辑处理。 也就是说,onPollNetworkTime方法就是我们时间同步的主要关注对象。 1、onPollNetworkTime:

四、三中介绍了时间获取的相关逻辑,我们接下来介绍下时间是如何发起同步的,这个方法的主角为:NtpTrustedTime 在该类中通过forceRefresh方法来更新获取服务器时间。

在该方法逻辑中,通过SntpClient来封装请求。 SntpClient.java

我们传入在NetworkTimeUpdateService传入的服务器地址以及请求超时时间,向host服务器发起请求,并将相应结果按照编解码规则封装进二进制数组。

总结:NetworkTimeUpdateService时间同步,一旦发起成功的时间同步,时间数据会存在内存中,并根据当前机器运行时间来设定最新的时间。

[android那些事] linux 下android源码编译(国内被墙方案) 1.先更新sudoapt-getupdate创建sudoapt-getinstallopenjdk-7-jdkjava环境2.git工具sudoapt-getinstallgitcurlsudoapt-getinstallcurl3.创建repo(目录在用户目录的bin之下)$

Android中的消息机制-个人心得 在分析Android消息机制之前,我们先来看一段代码:[java]viewplaincopypublicclassMainActivityextendsActivityimplementsView.OnClickListener{privateTextViewstateText;privateButtonbtn;@Ov

Android SDK 国内镜像 摘自

标签: 安卓手机更新时间

本文链接地址:https://www.jiuchutong.com/biancheng/378178.html 转载请保留说明!

上一篇:Bitmap有效的压缩方式(bitmap压缩到指定尺寸)

下一篇:[android那些事] linux 下android源码编译(国内被墙方案)

  • 出口货物退税的基本原则
  • 赠送商品如何做账
  • 去年的电费可以在今年入账分录
  • 应收账款和应付账款的区别
  • 汇算清缴忘记申报了怎么办
  • 企业所得税可以不交吗
  • 设计原始凭证所需内容及步骤
  • 专项资金审计的目的
  • 装修费是否计入固定资产
  • 结转损益类账户余额
  • 递延收益没有应列入哪个科目
  • 有限合伙企业如何分红
  • 公司结业清算后多久注销
  • 冲减成本费用会计分录
  • 月末结转所有收入类账户
  • 老板找人替我工作说明了什么
  • 房地产开发企业预缴增值税
  • 船舶吨税范围
  • 过期的增值税发票能用吗
  • 存货自然灾害损失进项税
  • 营改增后小规模纳税人税率是多少
  • 待抵扣税费
  • 《减免所得税优惠明细表》
  • 企业注销前注册资本必须到账吗
  • 进项税转出余额方向在哪一方
  • 企业所得税是根据什么申报的
  • 外账的银行存款怎么处理
  • 增值使用费可取消吗?
  • linux常用命令详解
  • 销售差异计算公式
  • win7如何禁用wifi
  • 股东帮公司垫付货款
  • 员工意外受伤费用谁出
  • hue环境搭建
  • php课堂笔记
  • vue3elementplus首页布局
  • 玩的最多的手机网游
  • laravel elementui
  • 企业废业什么意思
  • web漏洞扫描器的设计与实现
  • vue传值inject
  • windows pythonpath
  • php构造函数重载
  • 缴纳残保金会计分录最新
  • 发票失控进项转出
  • 员工借现金分录
  • 年数总和法怎么算年折旧额
  • 科目余额表怎么填
  • 购销农副产品需要交税吗
  • 当月计算的增值税是负数怎么办
  • 工会费的会计分录是什么
  • 金蝶利润表没有信用减值损失
  • Windows下Postgresql数据库的下载与配置方法
  • 汇算清缴时资产折旧怎么填
  • 合伙企业是否需要缴纳印花税
  • 无形资产摊销如何操作
  • 销售出库和产品入库有什么关系
  • 如何算增值税金额
  • 新开公司没有领失业金
  • 债务重组的适用范围
  • sql server外连接查询
  • ora01804怎么解决windows
  • window照片无法预览
  • macos触控
  • win8 侧边栏
  • iwatch命名
  • win8关机慢怎么办
  • opengl教程48讲
  • node.js怎么用
  • dos用处
  • css+div布局的常用方法
  • linux分区类型默认的是什么
  • python中安装模块的命令
  • django实时刷新日志前端
  • 每天一篇文章锻炼口才的文章
  • 发票代码和发票号码有什么区别
  • 珠宝消费税怎么征收
  • 如何查询车辆购置税完税证明
  • 江苏省2023年1号文
  • 重庆经开区属于哪个大区
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设