繁体   English   中英

从ContactsContract.RawContacts.CONTENT_URI获取已删除的联系人

[英]get deleted contacts from ContactsContract.RawContacts.CONTENT_URI

此查询会在一段时间后返回已删除的联系人。 我注意到,如果删除的联系人属于Gmail帐户并且有电话号码,那么此查询将不会返回任何结果。

String WHERE_DELETED = "( " + ContactsContract.RawContacts.DELETED + "=1)";

Cursor cursor = context.getContentResolver().query(ContactsContract.RawContacts.CONTENT_URI,
                null,
                WHERE_DELETED,
                null,
                null);

一旦相关的SyncAdapter唤醒并将该删除同步到服务器(例如Google Contacts Server),该RawContact实际上已从数据库中删除并且不再可以查询 ,则RawContactRawContact.DELETED 标记为删除。

请参阅官方文档

“已删除”标志:默认情况下为“ 0”,如果该行已标记为要删除,则为“ 1”。 在原始联系人上调用delete(Uri,String,String [])时,会将其标记为删除并从其汇总联系人中删除。 同步适配器删除服务器上的原始联系人,然后再次调用ContactResolver.delete,这一次传递CALLER_IS_SYNCADAPTER查询参数以完成数据删除。

您可以做的是查询ContactsContract.DeletedContacts表,其中包含最近30天删除的联系人的记录,请参见此处: https : //developer.android.com/reference/android/provider/ContactsContract.DeletedContacts.html

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM