位置: 编程技术 - 正文

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

  • 一般纳税人增值税优惠政策2023
  • 机动车统一发票税率多少
  • 所得税季报中营业外收入填哪里
  • 企业清算需要什么
  • 企业所有职工都要交税吗
  • 养老基金利率多少
  • 其他货币资金是资产类科目吗
  • 专利技术评估价值入股价偏高说明什么
  • 以非现金资产清偿债务的会计处理
  • 一般纳税人购进鸡蛋怎样抵扣
  • 房地产营改增后开票
  • 增值税普通发票有什么用
  • 培训费可以抵扣企业所得税
  • 一般纳税人设备租赁税率
  • 主营业务收入增速怎么算
  • 企业所得税视同销售怎么处理?
  • 网络科技定额发票怎么做分录?
  • 我的初级备考经历怎么写
  • 资产处置损失减少的原因
  • 增值税普通发票几个点
  • 所得税汇算清缴截止日期
  • 增值税的特殊销售方式有哪些?税务处理时怎样的?
  • Win10家庭版安装教程
  • 补缴的耕地占用税怎么做账
  • dsregcmd.exe
  • php封装接口
  • lsass.exe是什么进程
  • 收取跨年租金会计处理
  • 微信小程序实现支付功能
  • 员工旅游是什么意思
  • 总公司签合同后将工程给分公司可以吗
  • 程序员后续发展
  • 计算机视角技术
  • 改进的拼音
  • 常用的css样式有哪些
  • vue3中如何使用vuex
  • nginx运行python
  • 记账凭证的主要作用有
  • 远期外汇合约的特点
  • 公司抵押贷款的钱,可以转到私人账号
  • 实收资本核算有哪些要求
  • 个人经营所得税率
  • 银行开户有几种账户
  • 交强险怎么报警
  • MYSQL administrator 使用
  • 小企业会计准则和企业会计准则的区别
  • 制造费用科目一定无余额
  • 存货管理的类型
  • 财务会计制度及核算软件备案怎么填写
  • 劳务费免税发票怎么开
  • 银行结息需要开发票吗
  • 用友现金流量明细表
  • 个体工商户个税2023最新政策
  • xp系统不能搜索
  • ubuntu安装指南
  • ubuntu 12.04安装
  • win8系统怎么改win10
  • win10自定义壁纸在哪个文件夹里
  • Linux系统中修改文件权限
  • winmysqladmin.exe - winmysqladmin进程是什么意思
  • 文件fwpkc1nt.sys
  • 关于windows的说法正确的是
  • win7旗舰版远程链接登录不上
  • lsm.exe是什么进程
  • glrotatef函数
  • jquery 刷新div
  • 怎么理解python
  • JAVASCRIPT IE 与 FF 中兼容写法记录
  • Node.js中的包管理工具是什么
  • 如何用nodejs搭建服务端
  • 从零基础开始
  • jquery的实现原理
  • 如何打印个人所得税的税单
  • 广东电子税务局官网登录入口手机版
  • 购买的土地没有土地使用证
  • 没有税费种认定信息是什么意思
  • 不动产租赁如何征税
  • 医保未参保怎么参保 支付宝
  • 重庆外经证网上报验流程及时间
  • 财务制度备案表单怎么填
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设