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
开机的时间从哪里获取,怎么出来?
参考学习
在知乎上回答了一个 如何让 iPhone 通讯录与 Google Contacts 双向同步? 的问题,因为自己上个周因为古董iPhone4更新系统不小心被重置了,折腾了几乎一天,总结了一个在我看了可行的解决方案,可以实现Mac端+iOS设备+安卓设备同步通讯录,但是貌似没人给点赞,还是贴过来备份一下,希望需要的人能看到吧!
好了,开始将解决办法。配置是一台iOS设备,一台电脑,和一个安卓备机。
现在不管你的通讯录是有多乱,先看清是不是被成“本机”通讯录和“Gmail”通讯录(或者Hotmail等),一般出现问题的都是这种“被分组”的。
一、先确定两组通讯录没有重合。
二、将同步Gmail(或Hotmail等)通讯录同步设置取消,这时候你的手机上的所有基于Gmail通讯录的联系人都消失了,别怕,Google帮你拿着呢。
三、如果以前确定没有设置过iCloud通讯录设置,此时打开iCloud,将手机通讯录同步到iCloud端。 不管是否设置过,请所有人把手机备份,最好选本地备份。 (原因是现在的iOS7系统默认会自动打开云备份,也就是你的老备份很容易就被新的覆盖掉!)
四、如果设置过,请重新申请一个Apple ID,也将通讯录同步到云端。
五、打开 http://iCloud.com ,通讯录中全部选中(Ctrl+A),导出*.vcf格式的名片文件。这下可以放心了,通用格式,要时常备份啊,爸爸妈妈再也不用担心我的手机丢了联系人没有啦!
六、有了这个VCF文件,我们就把它添加到Gmail通讯录中,这时候你的gmai里就是全部联系人啦!再导出一份VCF备份!
七、还得吧iOS 设备弄好,打开 http://iCloud.com ,等于手机常用Apple ID,把里面清空然后倒入上面的全部联系人。
基本思路,就这些,其他情况基本上也可以解决。统一通讯录这个最麻烦的关过去之后,就可以把iCloud云端的通讯录为中心,想iOS设备自动同步,导出到gmail也不是很麻烦。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)