[android]时间自动更新机制

同步分两种:NITZ:需要运营商的支持,通过TOD(短波跳频通信)时间信息法进行同步,实现运营商网络侧和手机modem侧的时间同步。然后modem侧通过RIL主动上报时间和时区信息。
SNTP:从网络侧获取SNTP的时间,采用SNTP无法更新时区。
当选中自动更新时,在GsmServiceStateTracker.java和NetworkTimeupdateService.java中注册的contentObserver会分别触发,GsmServiceStateTracker中会发送在ACTION_NETWORK_SET_TIME的广播,给mNitzTimeSetTime赋值。NetworkTimeupdateService中会发送message,执行onPollNetworkTime(),如果NITZ时间不是NOT—SET,并且更新的时间小于POLLING——INTERVAL——MS,就直接更新NITZ的时间,否则使用SNTP更新时间。

可参考M812——CMCC中PR-699698


如果出现问题,查看

1.NetworkTimeUpdateService monitor WI-FI 和 Mobile网络状态。
2.只有在数据网络处于In Service状态下才去NTP server同步时间。
3.提供其他3个备份的NTP Server去同步时间。

如果测试中发现问题,首先确定当前网络运营是否支持NITZ,如果支持NITZ,而时间未能同步,请从开机就抓取QXDM
log和tcpdump log。
如果当前网络运营不支持NITZ,在确保数据网络正常的情况下从开机就抓取tcpdump
log。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值