我一直在使用Android聯繫人。我可以向他們展示,更新但是當我想刪除任何時候,它不會被完全刪除。在聯繫人 應用程序顯示爲(未知),沒有任何數據。這裏是我的例子:未能使用ContentProviderOperation刪除整個聯繫人
ArrayList<ContentProviderOperation> ops = new ArrayList<ContentProviderOperation>();
ops.add(ContentProviderOperation.newDelete(Data.CONTENT_URI)
.withSelection(Data.CONTACT_ID + "=?", new String[]{selectedid})
.build());
getContentResolver().applyBatch(ContactsContract.AUTHORITY, ops);
我應該做其他什麼來完全刪除聯繫? 似乎這些代碼刪除表ContactsContract.Data中的信息,但它不會刪除表ContactsContract.Contacts或ContactsContract.RawContacts.how中相關的元素我可以做到完全刪除一個聯繫人嗎?
============================================== ==============================
此外,我嘗試了不推薦使用的方法。它的工作,但我不想這樣做。下面是示例代碼:
ContentResolver contentResolver = m_cContent.getContentResolver();
contentResolver.delete(People.CONTENT_URI, People.NAME + "=?", new String[] { SelectedName });
,如果我修改此代碼以
ContentResolver contentResolver = m_cContent.getContentResolver();
contentResolver.delete(ContactsContract.Contacts, ContactsContract.Contacts._ID + "=?", new String[] { Selectedid });
它沒有任何效果。
這是否意味着只能通過名稱而不是通過其ID來刪除聯繫人? 我可以做些什麼來刪除聯繫人?
感謝, Enchor
您必須運行同步過程,以便通過Google通訊錄進行更新,而不會永久刪除。檢查已刪除的標誌。 – Pentium10 2010-06-17 05:57:37
「你必須運行一個同步過程」 我不知道該怎麼做。你能告訴我如何運行同步過程嗎? 請告訴我可以閱讀的文檔或給我一些示例代碼。 非常感謝。 – Enchor 2010-06-17 09:37:45
@Enchor你解決了你的問題嗎?我現在正在努力。 – 2014-02-19 08:07:46