位置: 编程技术 - 正文

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源码编译(国内被墙方案)

  • 工资延期发放最多不能超过多少天
  • 税收减免的定义
  • 我国的税种有哪些种类
  • 培训费的其他费用是什么
  • 批量转账和代发工资
  • 进项税加计扣除什么时候开始的
  • 哪些邮政业务可以寄快递
  • 应交增值税明细科目如何结转
  • 当月开的发票次月预缴税款行得通吗?
  • 建筑行业异地预缴增值税
  • 企业利息收入会计分录怎么做
  • 财产租赁所得应缴纳个人所得税
  • 降库存的方案
  • 公司购买短期理财现金流量表怎么填
  • 企业购买小轿车进项税额可以抵扣吗
  • 农产品收购发票怎么做账
  • 增值税减免税申报明细表免税代码和名称
  • 异地 发票
  • 企业所得税年报过了申报期还能修改吗
  • 购材料有折让如何做会计分录?
  • 飞机票的保险费可以退吗
  • 长期借款和短期借款时间
  • 工商年报单位缴费基数怎么算出来
  • 快捷方式都变成pdf
  • 建筑劳务公司计提人工劳务费需要工资表吗?
  • 怎么激活win10专业版
  • linux系统中怎么创建目录
  • php怎么执行sql语句
  • 固定资产转卖怎么开票
  • 无偿划转长期股权投资
  • 国有资产无偿划转协议
  • 边角料是否计入生产成本
  • 企业清算的会计科目
  • 购买农产品没有发票入帐怎么办
  • php关闭报错
  • 金融企业类型有哪些
  • 设置背景图片大小和元素的大小一致的代码
  • 分布式网络爬虫
  • vue富文本编辑器移动端
  • 终于见识到什么叫云横秦岭了
  • spring三级缓存有什么用
  • phpcms怎么修改模板风格
  • 成本法变为权益法合并层面计算投资收益
  • 现金盘盈盘亏怎么处理
  • 企业年报未报会有什么后果
  • 医院出的收据就是发票吗
  • 申报个税工资报少了怎么更改
  • 应补退税额是什么意思 法律
  • 取得股息红利所得 个人所得税
  • 已经经营中的企业有哪些
  • 过账怎么操作
  • 机会成本的特点有()
  • 以前年度出口退税未收汇
  • 公司因担保产生损失
  • 部门召开会议
  • 存货有哪几个科目
  • 应付账款的主要风险点
  • 定额发票的使用方法
  • 收派服务费可以简易计税吗
  • 记账凭证填制的心得体会
  • 货币资金核算内容
  • 关于sql的几道小知识
  • CentOS 7中安装mysql server的步骤分享
  • sqlserver如何保留两位小数
  • win10设置设备
  • centos设置双网卡
  • win10触摸模式开启
  • win10关闭defender方法
  • WIN7系统的电脑怎么运行快
  • 11月 Win8.1 Update 3更新哪些内容?开始菜单依然没有
  • opengl控件库
  • python之virtualenv的简单使用方法(必看篇)
  • 详解js的异步编码
  • unity用lua开发
  • New AssetBundle build system in Unity 5.0
  • 河南省人民医院和郑大一附院哪个好
  • 甘肃增值税发票查验平台官网
  • 北京车位过户手续费多少
  • 小规模纳税人的开票
  • 江苏个人扣税
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设