聯絡人所有組資訊:groups.content_uri
聯絡人組具體資訊:contactscontract.data.content_uri
cursor cursor = getcontentresolver().query(groups.content_uri,null,null,null,null);
for (cursorall.movetofirst();!(cursorall.isafterlast());cursorall.movetonext())
新建組(名字為name):
contentvalues values = new contentvalues();
values.put(groups.title, name);
getcontentresolver().inser(groups.content_uri, values);
刪除組(id為groupid):
getcontentresolver().delete(uri.parse(groups.content_uri +"?" +contactscontract.caller_is_syncadapter + "=true"),groups._id+"="+groupid,null);
給組重新命名(oldname;newname;groupid):
contentvalues values = new contentvalues();
values.put(groups.title,newname);
getcontentresolver().update(uri,values,null,null);
給組新增成員(groupid,personid):
contentvalues values = new contentvalues();
values.put(contactscontract.commondatakinds.groupmembership.raw_contact_id,personid);
values.put(contactscontract.commondatakinds.groupmembership.group_row_id,groupid);
values.put(contactscontract.commondatakinds.groupmembership.mimetype,contactscontract.commondatakinds.groupmembership.content_item_type);
getcontentresolver().insert(contactscontract.data.content_uri, values);
給組移除成員(groupid,personid):
getcontentresolver().delete(contactscontract.data.content_uri,contactscontract.commondatakinds.groupmembership.raw_contact_id + "=? and " +contactscontract.commondatakinds.groupmembership.group_row_id + "=? and " +contactscontract.commondatakinds.groupmembership.mimetype + "=?",new string);
注:1 新增成員到分組的personid是指rawcontacts._id,而不是contacts._id。
2 當乙個聯絡人名片裡有幾個聯絡人的情況時,要把每個rawcontacts._id都新增進分組。
這個問題很嚴重啊,使用contacts._id,碰到有合併的聯絡人以後,關於分組的所有操作都會錯亂掉。
有什麼疑問或者問題,別吝嗇筆墨啊,多多交流,共同進步.....
關於聯絡人分組
聯絡人所有組資訊 groups.content uri 聯絡人組具體資訊 contactscontract.data.content uri cursor cursor getcontentresolver query groups.content uri,null,null,null,null f...
IM實現聯絡人及聯絡人分組的資料庫設計
openfire中通過ofgroup ofgroupprop ofgroupuser實現組織結構中的分組,通過ofroster ofrostergroups實現好友關係中的分組。但是呢,我們做二次開發的時候,希望能夠有自己的個人聯絡人及分組,它沒有確認過程,也就是說,只要我願意,我可以將任何組織結構...
獲得聯絡人
注意在 後要加上 貌似從android2.0開始,聯絡人的api做了很大的調整。people介面由contactscontract.contacts代替。在聯絡人的 號碼中有很多種,如果只想獲得手機號碼。如下 cursor phones mcontext.getcontentresolver que...