[英]Unable to fetch deleted contacts from ContactsContract.Contacts.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
實際上已從數據庫中刪除並且不再可以查詢 ,則RawContact
將RawContact.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.