方法1:
传统删除通讯录的方法:cResolver.delete(ContactsContract.RawContacts.CONTENT_URI,
where,null);
分析:其实只是将raw_contact这个表中的数据的delete字段设置为1,并没有从表中移除,而且也没有通知
服务器进行同步。可能造成的结果是,服务器有将以前删除过的记录更新了下来。
方法2(推荐使用):
删除通讯录方法:cResolver.delete(RawContacts.CONTENT_URI.buildUpon().appendQueryParameter(ContactsContract.CALLER_IS_SYNCADAPTER,"true").build(),
where, null);
分析:通过将CALLER_IS_SYNCADAPTER设置为true,会彻底删除raw_contact中的记录,而且会通知服务器同步更新。