Как вставляют контактную информацию на существующем контакте в Android 1.6?

У меня есть имя, номер телефона и информация об электронной почте контакта. Я просто хочу вставить дополнительную электронную почту и телефон для существующего контакта. Мои вопросы

  1. Как найти, что контакт является уже существующим или нет?
  2. Как вставить значения на дополнительной или вторичной опции адреса?

Заранее спасибо.

5
задан Praveen 16 June 2010 в 11:29
поделиться

1 ответ

В официальном документе есть новые контакты api.

http://developer.android.com/reference/android/provider/ContactsContract.Data.html

Сначала найдите идентификатор необработанных контактов с вашими критериями, например name:

final String name = "reader";
// find "reader"'s contact 
String select = String.format("%s=? AND %s='%s'", 
        Data.DISPLAY_NAME, Data.MIMETYPE, Phone.CONTENT_ITEM_TYPE);
String[] project = new String[] { Data.RAW_CONTACT_ID };
Cursor c = getContentResolver().query(
        Data.CONTENT_URI, project, select, new String[] { name }, null);

long rawContactId = -1;
if(c.moveToFirst()){
    rawContactId = c.getLong(c.getColumnIndex(Data.RAW_CONTACT_ID));
}
c.close();

Во-вторых, используйте rawContactId для добавить запись в контакты:

ContentValues values = new ContentValues();
values.put(Data.RAW_CONTACT_ID, rawContactId);
values.put(Data.MIMETYPE, Phone.CONTENT_ITEM_TYPE);
values.put(Phone.NUMBER, "1-800-GOOG-411");
values.put(Phone.TYPE, Phone.TYPE_CUSTOM);
values.put(Phone.LABEL, "free directory assistance");
Uri dataUri = getContentResolver().insert(Data.CONTENT_URI, values);

PS. не забывайте разрешения:

<uses-permission android:name="android.permission.READ_CONTACTS"></uses-permission>
<uses-permission android:name="android.permission.WRITE_CONTACTS"></uses-permission>
8
ответ дан 14 December 2019 в 04:30
поделиться
Другие вопросы по тегам:

Похожие вопросы: