位置: 编程技术 - 正文

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

  • 税务申报系统没有印花税
  • 年终双薪究竟该怎么算
  • 我国增值税税率改革带来的影响
  • 增值税进项加计扣除计入哪个科目
  • 钱已付票未收到分录怎么做
  • 小规模印花税计税金额是什么
  • 金蝶数量金额式明细账怎么查看
  • 已交增值税如何做账
  • 指定会计科目是
  • 如何申请免税
  • 应交税金进项税的会计分录
  • 公司组织员工旅游,起到的目的是什么
  • 服务费增值税专用发票税点
  • 含税和不含税哪个对卖方有利
  • 从公司账户取现金
  • 2020年最新增值税租车费
  • 工会有纳税号吗
  • 生产成本和主营业务成本哪个大
  • 小规模纳税人代理销售税率是多少
  • 购买车辆保险怎么入账
  • 英特尔酷睿和至强的区别
  • 未分配利润亏损怎么做分录
  • 暂估入库入库单范本
  • linux dism
  • 怎么给分区
  • 销售人员领用材料
  • 房屋租赁经营要交哪些税
  • 货物运输业增值税专用发票
  • 前端框架react
  • 芒通,法国 (© Flavio Foglietta/Getty Images)
  • 海峡群岛属于哪个洲
  • 现金清查的会计分录
  • 谷歌浏览器调试窗口怎么放下面
  • 二元运算例子
  • 卷积神经网络课程
  • 查补税款
  • 社会团体所得税汇算清缴
  • 有什么是即征即退税的
  • 资产负债表中的货币资金怎么算
  • dedecms使用教程
  • 高铁票的电子发票
  • 金税盘问题
  • 有材料成本差异率怎么算材料成本差异
  • 国外差旅费怎么入账
  • 其他应付款是什么类账户
  • 本月记账之前是不是要结转上月
  • 汽车运输企业交什么税
  • 购进国内交通运输产品
  • 社保退回的款怎么入账
  • 商品流通环节包括
  • 技术转让费如何收取合理
  • 买车险要先付钱再上牌吗
  • 产品销售的账务处理办法
  • 会计分录的记账要素
  • 人力公司开的代驾发票
  • 申报个税劳务报酬按20%扣
  • 金税盘维护费抵减分录
  • mysql unique option prefix myisam_recover instead of myisam-recover-options的解决方法
  • 如何调优产业结构
  • sp_executesql 使用复杂的Unicode 表达式错误的解决方法
  • win7蓝屏咋办
  • 两台电脑如何共享网络
  • freebsd操作命令
  • freebsd中文手册
  • rpm包安装的apache可以如何启动
  • windows账户升级为管理员
  • tar解压工具
  • win8切换到桌面的快捷键
  • win7无线网络显示x无法启用
  • 嵌入js
  • JavaScript中的数据类型分为两大类
  • cocos2dx4.0教程
  • apache2使用
  • opengl光线跟踪代码
  • NeHe OpenGL Lesson 9
  • 微信公众号开发多少钱
  • 利用python绘图
  • unity最新教程
  • 国家税务局浙江电子税务局官网入口
  • 手撕发票查询真伪平台
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设