簡體   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