Android редактировать контакт - PullRequest
12 голосов
/ 03 июля 2010

привет, я пытаюсь добавить номер телефона к существующему контакту на Android 2.1.Сейчас я использую:

ContentValues values = new ContentValues();
values.put(Phone.RAW_CONTACT_ID,cursor.getColumnIndex(Phone.CONTACT_ID));
String selection = ContactsContract.Contacts.IN_VISIBLE_GROUP + " = '1'";
ContentResolver cr = getContentResolver();
Cursor cursor = cr.query(ContactsContract.Contacts.CONTENT_URI,null, selection, null,ContactsContract.Contacts.DISPLAY_NAME+" COLLATE LOCALIZED ASC");
if (cursor.getCount() > 0) {
    cursor.moveToPosition(oldcontactid);
    contactid = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts._ID));
    values.put(Phone.RAW_CONTACT_ID,cursor.getColumnIndex(Phone.CONTACT_ID));
    if (Integer.parseInt(cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER))) > 0) {
        Cursor pCur = cr.query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI,null,ContactsContract.CommonDataKinds.Phone.CONTACT_ID +" = ?",new String[]{contactid}, null);
        while (pCur.moveToNext()) {
            values.put(Phone.NUMBER,pCur.getString(pCur.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER)));
            values.put(Phone.TYPE, Phone.TYPE_MOBILE);
        }
        pCur.close();
    }
}
Uri uri = getContentResolver().insert(Phone.CONTENT_URI, values);

, но я получаю сообщение об ошибке:

java.lang.UnsupportedOperationException: Unknown uri: content://com.android.contacts/data/phones

как мне это исправить?

спасибо за любую помощь, ng93

Ответы [ 4 ]

5 голосов
/ 26 августа 2010
3 голосов
/ 02 октября 2010

Вставьте в Data.CONTENT_URI вместо Phone.CONTENT_URI и вставьте столбец Data.MIMETYPE с Phone.CONTENT_ITEM_TYPE.

1 голос
/ 16 сентября 2010

Вы также можете проверить свои установленные приложения и память программ.Мой Droid Eris отлично работал с контактами и практически со всеми приложениями, поддерживающими контакты.

До Я преодолел некоторую точку загрузки памяти.Поддержка VZW 1-го уровня мне не помогла, пришлось настаивать на поддержке 2-го уровня.Наконец получил ответ от кого-то, кто знал его шпинат.Он сказал, что у меня слишком много приложений на телефоне, и это была известная проблема.
Все еще не сократил мой рабочий набор настолько, чтобы заставить работать редактирование контактов: - (

/ s /BezantSoft

1 голос
/ 06 июля 2010

Вы установили правильные разрешения в AndroidManifest.xml? Насколько я знаю доступ к личной информации (контактам) ограничен по умолчанию.

см. здесь , чтобы узнать больше о системе разрешений в Android

...