Не удалось обновить имя контакта в эмуляторе 2.1

Я пытаюсь обновить имя существующего контакта в эмуляторе Android 2.1 с помощью следующего кода, но всегда получаю исключение «java.lang.IllegalArgumentException: пустые значения».

ContentValues ​​contactValues ​​= new ContentValues(); contactValues.put(People.NAME, "rishabh"); getContentResolver().update(UpdateContactUri, contactValues, null, null);

UpdateContactUri — это uri существующего контакта с идентификатором 4. Он работает на эмуляторе 1.6, но не на 2.1.

Еще одна вещь, которую мне нужно спросить, как я могу получить доступ к отдельным полям имени (имя, средний, последний) и адрес (улица, город, штат, почтовый индекс, страна) в 2.1


person Rishabh    schedule 15.03.2010    source источник


Ответы (1)


в Android 2.1 я использую этот код взлома для обновления имени контакта:

public static void modifyPeopleName(ContentResolver cr, String id,
        String sName) {
    if (sName == null)
        return;

    ContentValues values = new ContentValues();
    int android_sdk_version = Integer.parseInt(Build.VERSION.SDK);
    if (android_sdk_version < 7) {
        values.put(People.NAME, sName);
        cr.update(People.CONTENT_URI, values, People._ID+"="+id, null);
    } else {
        values.put("data1", sName);
        cr.update(Uri.parse("content://com.android.contacts/data/"),
                values, "raw_contact_id=" + id, null);
    }
    return;
}
person xufan    schedule 06.09.2010