位置: 编程技术 - 正文

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

  • 筹建期间取得的利息收入 企业所得税
  • 政府征用土地补偿标准2021年
  • etc发票可以抵扣进项税吗
  • 补贴收入企业所得税
  • 开房租租赁发票怎么记账
  • 空调属于电子设备还是电气设备
  • 公司帮其他单位开发票违法吗
  • 子公司注销应收母公司往来款
  • 暂估发票到账出入库单要填吗
  • 固定资产残值怎么计算出来的
  • 商品非正常损耗收取的赔偿款账务处理怎么做?
  • 建筑工程公司项目经理职责
  • 税务局开具无违规证明
  • 小规模开票后的分录怎么做
  • 企业支付员工的工资
  • 已备案购销合同
  • 没有原始凭证可以审计吗
  • 其他权益工具投资公允价值变动怎么计算
  • 公司买手机怎么做账务处理
  • 进口小汽车消费税率
  • 财政应返还额度是什么意思?
  • php生成随机字符串源,且不会重复出现
  • 帝国cms移动端
  • 财政发票可以报销吗
  • 中小企业发展专项资金绩效评价报告
  • php用img显示图片
  • 解读elementui的组件源码
  • laravel运行
  • Blog2N如何计算
  • 开了专票就不能享受政策
  • 备抵法会计处理
  • 应付债券相关分录
  • 增值税的滞纳金税率
  • 织梦网站怎么改logo
  • 织梦cms要钱吗
  • 不动产进项税额抵扣新政策2021
  • 民办学校建筑要求
  • 没有收入该怎么办
  • SQL Server 2008 数据库有哪些版本?
  • PostgreSQL中关闭死锁进程的方法
  • asp连接mysql数据库
  • 个体工商户要做账报税吗
  • 法人怎么从公账上大量取钱
  • 个税专项附加扣除标准调整
  • 收到费用发票没有付款的会计分录
  • 企业的应付职工薪酬属于流动负债
  • 工程造价咨询公司招聘
  • 购买商品或服务不给开发票违法吗
  • 未确认融资费用借贷方向
  • 利润表的编制方法和步骤实操
  • 公司增资需要什么流程呢 最新
  • 财务费用科目期末结转损益后应
  • mysql5.7.30安装
  • mysql索引的使用和原理
  • windows7软件运行没反应
  • win8任务管理器在哪
  • winxp系统怎么投屏
  • centos怎么执行脚本
  • 苹果mac os x 10.7.5如何升级
  • win8.1 win7
  • Linux驱动程序开发视频教程
  • 系统界面通知
  • linux系统的服务器有哪些
  • android开发mvc mvp mvvm
  • 捉虫趣事作文200字
  • bootstrap技术
  • jquery设计模式
  • nodejs自启动
  • Node.js中的construct构造函数
  • shell脚本转码
  • 字符串中指定字符变换
  • jquery模拟回车
  • qrcode怎么生成
  • 使用jquery计算li元素的个数
  • jquery点击事件有什么方法显示
  • 房屋设备租赁费
  • 国家税务局几号上班
  • 无偿赠送的税务怎么处理
  • 国家税务局广东省电子税务局下载
  • 海口社保一个月多少钱
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设