Не удалось обновить имя контакта в эмуляторе 2.1 - PullRequest
0 голосов
/ 15 марта 2010

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

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

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

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

1 Ответ

0 голосов
/ 06 сентября 2010

в 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;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...