如何从联系人列表中仅获取某些特定或选定的联系人?

时间:2012-01-10 07:01:10

标签: android android-contacts import-contacts

如何从联系人列表中仅获取某些特定或所选(多个)联系人,并与所选联系人建立一个群组?

Intent intent1 = new Intent(Intent.ACTION_PICK, Contacts.Phones.CONTENT_URI);
startActivityForResult(intent1, PICK_CONTACT_RQCODE_OLD);
startActivity(intent1);

2 个答案:

答案 0 :(得分:2)

这里有一些想法的代码部分

URI contactData = data.getData();
Cursor c = managedQuery(contactData, null, null, null, null);
if (c.moveToFirst()) 
{

name = c.getString(c.getColumnIndexOrThrow(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME));
no = c.getString(c.getColumnIndexOrThrow(ContactsContract.CommonDataKinds.Phone.NUMBER));

}

这里是完整示例link

答案 1 :(得分:0)

我不能给你完整的答案。我希望无论如何这都很有用。

要在组中移动联系人,您需要更新或为其组添加新条目。该组在数据表中使用MIMETYPE = GroupMembership.CONTENT_ITEM_TYPE.在raw中指定 所以你需要:

  1. 找到raw_contact的raw_contact_id

  2. 使用RAWCONTACT_ID=yourid MIMETYPE = GroupMembership.CONTENT_ITEM_TYPE

  3. 在数据表中查找原始数据
  4. 如果它存在,您需要更新它,否则添加

  5. 对于做这些事情的方法,请查看SampleSyncAdapter:它为您提供了很多线索。