温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

android 同步联系人

发布时间:2020-07-07 11:29:10 来源:网络 阅读:698 作者:timesgoby2012 栏目:移动开发

最近写代码需要同步联系人,写了一个内容观察者监听联系人数据的变化.

经测试发现要很精确的知道联系的增删改操作还是比较困难的.

因为联系人的内容提供者返回的uri永远都是ContactsContract.AUTHORITY_URI

想必很多童鞋都遇到了相同的问题,在网上搜索一番,发现有用的线索只有一个:rawContacts表的version会在联系人增删改操作后自加.

据此,我导出了系统联系人数据表View_RawContacts 和View_data表进行分析后认为可以用以下的思路完成联系人数据的同步:

1) 事先将上述两张表的内容一次性同步到本地数据表.

2) 当监听到联系人数据变动时,

1>确定新增操作:比对View_RawContacts._id

2>确定为删除操作:比对View_RawContacts.deleted=1

3>确定为更新操作View_RawContacts.deleted=0

3)比对上述属性用version来排序.version高的优先比对.

4)发现有上述操作后,执行同步操作.然后立即退出.

如此,可以比较高效的同步联系人数据.

android联系人在这方面做的确实很粗糙,如有更好的想法,请留言交流.共同提高.


相关代码见附录.代码写的比较粗糙.见谅.

附件:http://down.51cto.com/data/2364277
向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI