Android NTP时间同步机制实例分析


本篇内容主要讲解“AndroidNTP时间同步机制实例分析”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“AndroidNTP时间同步机制实例分析”吧!NTP是Android原生通过网络获取时间的机制,其中关键代码逻辑都在NetworkTimeUpdateService,它是Android系统服务,由SystemServer启动。我们从它的构造方法开始分析:构造方法中主要是对各种变量进行初始化操作,接下来分析systemRunning方法,它是个public方法,NetworkTimeUpdateService创建时,被SystemServer调用。这个方法中NetworkTimeUpdateService注册了三个监听:1.调用registerForAlarms,注册一个广播接收者,接收ACTION_POLL广播,收到后向消息队列发送一个EVENT_POLL_NETWORK_TIME的事件;2.向ConnectivityManager注册网络状况监听;3.监听Settings.Global.AUTO_TIME值的变化。咱们对这三个监听以及如何触发挨个的分析。NetworkTimeUpdateCallback实现了NetworkCallback接口,当被回调onAvailable(网络切换/可用)时, 赋值mDefaultNetwork并调用onPollNetworkTime(EVENT_NETWORK_CHANGED)方法。监听Settings.Global.AUTO_TIME的变化,当值改变且AUTO_TIME != 0 时,向消息队列发送一个类型为EVENT_AUTO_TIME_ENABLED的消息。看到这有三个东西我们还没确认,何时发送ACTION_POLL广播、onPollNetworkTime方法实现、Handler的实现。为了更有条理我打乱一下顺序,先介绍Handler和onPollNetworkTime。三种类型的消息最终都会调用onPollNetworkTime,只有参数不一样。当前无网络情况直接返回,并使用PowerManager.WakeLock(屏幕恒亮)调用onPollNetworkTimeUnderWakeLock(event)。注意到上面调用了resetAlarm(),该方法即是定时发送ACTION_POLL广播。总结一下onPollNetworkTimeUnderWakeLock做的事情:到此,相信大家对“AndroidNTP时间同步机制实例分析”有了更深的了解,不妨来实际操作一番吧!这里是百云主机网站,更多相关内容可以进免费云主机域名入相关频道进行查询,关注我们,继续学习!

相关推荐: Python如何实现前向和反向自动微分

本文小编为大家详细介绍“Python如何实现前向和反向自动微分”,内容详细,步骤清晰,细节处理妥当,希望这篇“Python如何实现前向和反向自动微分”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。许多经典的数值微分算法非常快,因为它们…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 03/27 11:14
下一篇 03/27 11:14

相关推荐