Android 网络时间同步-7.1

Android 网络时间同步-7.1,第1张

一、简介

Android设备有两种同步时间的方式,一种,人为手动调节;一种,使用网络提供的时间

注:

源码来自Android 7.1

二、详细介绍

注:本文重点介绍网络同步相关的业务

1.app端

通过设置Settings.Global.AUTO_TIME,即

Settings.Global.putInt(mContext.getContentResolver(), Settings.Global.AUTO_TIME,

isChecked ? 1 : 0)

1 代表开启

0 代表关闭

2.系统服务端--NetworkTimeUpdateService

1)adb 快捷查询方式

adb shell dumpsys network_time_update_service

了解几个关键变量

了解真正的实现方法

2)业务实现细节

知识补充:

知识点一、

DatagramSocket

DatagramPacket

DatagramSocket socket = null

这种socket通信SNTP协议 也不错

知识点二

System.currentTimeMillis

SystemClock.elapseRealtime

开机的时间从哪里获取,怎么出来?

参考学习

安装ntp,yum install ntp

步骤阅读

2

Date 发现格式为EDT,我们需要修改为CST格式

步骤阅读

3

[root@test ~]# mv /etc/localtime /etc/localtime.bak

[root@test ~]# ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

[root@test ~]# date

步骤阅读

4

并用ntpdate 208.91.112.50,同步网上的一台ntp服务器同步时间

步骤阅读

5

vi/etc/ntp.conf,修改配置文件,使能同步网上的ntp服务器

步骤阅读

6

我们这里使用的是centos7不同于以往linux的操作,对于开机自启动的调整,命令有所不同。chkconfig --list查看非系统内置服务的自启动状态

systemctl enable ntpd.service //开机自启动

步骤阅读

7

ntpq –p

*表示目前使用的ntp server的状态

步骤阅读

8

Ntpstat,可以看到已经同步了

步骤阅读

9

显示所有已启动的服务 systemctl list-units --type=service


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/625636.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-07-16
下一篇2023-07-16

发表评论

登录后才能评论

评论列表(0条)

    保存