android手机时间自动同步
在Android2.3.4系统中,Settings->Date & time->Automatic项打上后,时间会通过网络进行同步,而Android默认使用的是NITZ来获取移动网络时间,需要有移动网络服务商的支持才能使用,而有些Android产品只支持WIFI等无线网络,而不支持移动网络,此时就需要采用SNTP方式来获取网络时间进行同步了,相应需要修改到的文件为
frameworks/base/telephony/java/com/android/internal/telephony /cdma/CdmaServiceStateTracker.java
frameworks/base/telephony/java/com /android/internal/telephony/gsm/GsmServiceStateTracker.java
需要修改的都是一样的内容,如下:
添加如下内容:import android.net.SntpClient;修改如下内容:把private void revertToNitz() {if (Settings.System.getInt(phone.getContext().getContentResolver(),Settings.System.AUTO_TIME, 0) == 0) {return;}Log.d(LOG_TAG, "Reverting to NITZ: tz='" + mSavedTimeZone+ "' mSavedTime=" + mSavedTime+ " mSavedAtTime=" + mSavedAtTime);if (mSavedTimeZone != null && mSavedTime != 0 && mSavedAtTime != 0) {setAndBroadcastNetworkSetTimeZone(mSavedTimeZone);setAndBroadcastNetworkSetTime(mSavedTime+ (SystemClock.elapsedRealtime() - mSavedAtTime));}}
修改为:
private void revertToNitz() {if (Settings.System.getInt(phone.getContext().getContentResolver(),Settings.System.AUTO_TIME, 0) == 0) {return;}Log.d(LOG_TAG, "Reverting to NITZ: tz='" + mSavedTimeZone+ "' mSavedTime=" + mSavedTime+ " mSavedAtTime=" + mSavedAtTime);if (mSavedTimeZone != null && mSavedTime != 0 && mSavedAtTime != 0) {setAndBroadcastNetworkSetTimeZone(mSavedTimeZone);setAndBroadcastNetworkSetTime(mSavedTime+ (SystemClock.elapsedRealtime() - mSavedAtTime));return;}int tryCount = 5;SntpClient client = new SntpClient();Log.i(LOG_TAG, "revertToNitz new sntpclient");for(int i = 0; i < tryCount; i++){if(client.requestTime("north-america.pool.ntp.org", 10000)) {long cachedNtp = client.getNtpTime();long cachedNtpTimestamp = SystemClock.elapsedRealtime();Log.i(LOG_TAG, "Sntp NtpTime = " + cachedNtp);setAndBroadcastNetworkSetTime(cachedNtp+ (SystemClock.elapsedRealtime() - client.getNtpTimeReference()));return;}}}
当不支持NITZ获取时间同步时就使用SNTP方式获取时间进行同步。不过使用SNTP方式进行时间同步时不能同步时区,需要自己先去掉自动同步并设置时区后再设置自动同步,这样才能进行网络时间的同步更新。
时间同步 受地区 卡类别 基站 运营商 等影响大部分android手机时间同步都不怎么顺畅
android手机时间自动同步相关推荐
- Android 系统时间自动更新机制
两种时间更新机制 NITZ NITZ(Network Identity and Time Zone,网络标识和时区),是一种用于自动配置本地的时间和日期的机制,同时也通过无线网向移动设备提供运营商信息 ...
- Android 系统时间自动更新机制--解决 “时间和日期不准确“
两种时间更新机制 NITZ NITZ(Network Identity and Time Zone,网络标识和时区),是一种用于自动配置本地的时间和日期的机制,同时也通过无线网向移动设备提供运营商信息 ...
- Internet时间自动同步后,计算机系统时间比北京时间不能同步一致
环景: win10 专业版 2019AD域环境 IPguard管控客户端 问题描述: 与time.windows.com,Internet时间自动同步后,计算机系统时间比北京时间慢一分钟,有时又快一分 ...
- 华为交换机配置时区_华为交换机配置NTP实现时间自动同步
本篇文章介绍华为交换机配置NTP实现时间自动同步,此方法适用于华为路由器和交换机等网络设备配置NTP自动同步时间服务,关于时钟服务器搭建详见<CentOS 7利用chrony搭建NTP时钟服务器 ...
- openwrt时间自动同步
时间自动同步的方法: 1.用crontab定时调用执行命令:ntpd -n -d -p stdtime.gov.hk 其中:stdtime.gov.hk是时间同步服务器,也可以用 0.openwrt. ...
- Internet时间自动同步,国内可用的时间服务器
有没有小伙伴重装系统之后发现,电脑的时间与北京时间不一致,而且每次开机都不会自动同步,其实是系统自带的时间服务器不可用导致的时间问题,下面以win10为例(windows): 1.右击右下角时间 - ...
- centos7 时间自动同步
设置开机自动同步Internet时间,并作定时同步任务 1.修改时区 1 2 3 4 5 6 rm -rf /etc/localtime ln -s /usr/share/zoneinfo/Asia/ ...
- linux设置时间自动同步
1.查看和手动修改时间 查看时间 date 修改时间 date -s 'yyyy-mm-dd hh:mm:ss' 2.使用ntp服务自动同步网络时间 1.检测是否安装和启动服务 service --s ...
- android同步功能吗,Android手机和iCloud同步是什么鬼?
这两天,ZUK又火了一把,Z2既熟悉又陌生的外观和1799的价格足够吸引人. 发布会后,有不少小伙伴给编辑君留言,想知道Z2/Pro可以同步iCloud,这是肿么一回事呢? 编辑君对这个功能没什么感觉 ...
最新文章
- Hulu视频如何提升推荐多样性?
- 我用2年时间从财务到数据分析师!
- 【读书笔记】代码可为维护性标准(一)
- 九度 1545:奇怪的连通图
- 图像算法处理视频不稳定?港科大团队提出一种通用算法解决视频处理时域不稳定问题
- Codeforces Beta Round #2--B题 (DP)
- suse linux ssh远程无法访问问题
- 爱奇艺视频播放怎么开加速
- HDU 4027 Can you answer these queries?(线段树/区间不等更新)
- maven关联oracle,maven添加oracle jdbc依赖
- Filter -- 过滤敏感词汇
- 谷歌浏览器发送POST请求(测试Post接口)
- python地理位置聚类_python实现地理位置的聚类
- 合作式智能运输系统车路协同云控系统V2X设备接入技术规范
- 火车,飞机 查询接口
- 根据起始日期、起始时间、终止日期、终止时间计算天数
- canvas雨滴绘制总结(三)
- 怎样伪原创视频 如何查看视频的md5
- 扒站,仿站,下载网页,工具,软件,神器,无脑傻瓜版,一键操作
- 账号状态存储在MPT中的应用
热门文章
- 我的世界服务器彩色标语不显示,我的世界中你绝对没见过的彩蛋盘点 登陆界面谜团解析...
- 批量下载阿里巴巴商品图片工具
- 数据结构 非递归实现中序遍历二叉树
- vista下搞定无法删除的0k文件
- 月入9K职场新人 咋理财5年后变身钻石王老五
- 浸水剂市场销售规模及盈利增速预测报告2021-2026年
- 缺少计算机所需的介质驱动程序w10,安装Win10系统提示“缺少电脑需要的媒体驱动”怎么办?...
- Kindle“变废为宝 网页时钟
- 使用edge浏览器,白嫖ChatGPT的保姆级教程来了
- vue.js AEC代码编辑器