Как я могу получить только некоторые конкретные или выбранные контакты из моего списка контактов? - PullRequest
1 голос
/ 10 января 2012

Как я могу получить только некоторые конкретные или выбранные (несколько) контактов из своего списка контактов и создать группу с этими выбранными контактами?

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

Ответы [ 2 ]

2 голосов
/ 10 января 2012

Вот часть кода для идеи

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));

}

здесь полный пример ссылка

0 голосов
/ 10 января 2012

Я не могу дать вам полный ответ. Я надеюсь, что это все равно полезно.

Чтобы переместить свой контакт в группу, вам необходимо обновить или добавить новую запись для его группы. Группа указывается в виде необработанных данных в таблице данных с помощью MIMETYPE = GroupMembership.CONTENT_ITEM_TYPE. Так что вам нужно:

  1. Найдите raw_contact_id вашего raw_contact

  2. Поиск необработанных данных в таблице данных с помощью RAWCONTACT_ID=yourid MIMETYPE = GroupMembership.CONTENT_ITEM_TYPE

  3. Если он существует, его нужно обновить, в противном случае добавить его

Для того, чтобы сделать эти вещи, взгляните на SampleSyncAdapter: он дает вам много подсказок.

...