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