android自动更新nitz,Android时间时区更新(nitz和ntp)

Android时间更新

简介

NITZ(Network Identity and Time Zone,网络标识和时区):可以理解为是运营商基站发送的消息,当手机有信号注册到网络之后,就会收到该消息用来更新时间和时区。所以NITZ需要运营商网络支持(通过CS网络),目前国内电信、移动都支持NITZ方式更新时间日期,而联通目前不支持。

NTP(Network Time Protocol):此种方式是通过访问ntp服务器来更新时间的,所以需要手机可以上网,连接wifi或者开启数据连接都可以。Ntp方式只能更新时间,无法更新时区。

NITZ

1、触发条件

NITZ消息是基站发送的,手机只能被动接收,一般在下面几种情况下会收到消息:

(1)开机手机第一次注册到网络(运营商支持)。

(2)手机丢网再注网(例如开关下飞行模式)。

(3)从一个地方到另一个地方,小区基站信息发生变化。

我们在做测试时,可以通过前两种方式抓取log分析,log出现如下信息,证明nitz更新了时间和时区:

e6c733d538eea4a5ca75051af5fd4bf7.png

2、更新流程

Nitz的更新流程在ServiceStateTracker.java中实现,下图是个简易的更新流程图,具体实现可以看代码。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值