gpt4 book ai didi

android - 如何在Sync Adapter onPerformSync 方法中访问新添加的联系人?

转载 作者:太空宇宙 更新时间:2023-11-03 13:15:42 25 4
gpt4 key购买 nike

当我将联系人添加到我的电话簿时,同步适配器的 onPerformSync() 方法被触发。但我无法弄清楚如何在该方法中检索新添加的联系方式。请帮助我提供一些指导和代码 fragment 。感谢您的帮助。

最佳答案

您帐户的联系人存储在 RawContacts 中 table 。数据(例如电话号码、电子邮件地址)存储在 Data 中表(RAW_CONTACT_ID 指向 RawContacts 表中该联系人的行 _ID)。

要检测新联系人,您的同步适配器需要维护 RawContacts 中的 SOURCE_ID 字段表。

文档说明了 SOURCE_ID(在顶部的字段列中):

String that uniquely identifies this row to its source account. Typically it is set at the time the raw contact is inserted and never changed afterwards. The one notable exception is a new raw contact: it will have an account name and type (and possibly a data set), but no source id. This indicates to the sync adapter that a new contact needs to be created server-side and its ID stored in the corresponding SOURCE_ID field on the phone.

因此您的同步适配器应该查找属于您的帐户类型且具有空 SOURCE_ID 的联系人。同步联系人后,它必须将 SOURCE_ID 设置为标识新联系人的(非空)值。

当您从服务器同步新联系人时,您需要在 Android 上插入新联系人时设置 SOURCE_ID。如果不这样做,将导致重复(因为联系人将在下一次同步时作为新联系人同步回服务器)。

关于android - 如何在Sync Adapter onPerformSync 方法中访问新添加的联系人?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36518226/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com