2010-07-03 4 views
12

hi im пытается добавить номер телефона к существующему контакту на Android 2.1. Им в настоящее время с помощью:android edit contact

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

+0

ли код дает ту же ошибку на реальных устройствах как эмулятор? – sehugg

+0

'Телефон' устарел для Android 2.1 .... использовать' ContactsContract' –

ответ

1

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

here см Более подробную информацию о системе разрешений на андроид

+0

ive set: \t \t ng93

+0

жаль, что я не мог помочь ... Надеюсь, вы решили свою проблему сейчас , пожалуйста, сообщите нам, где проблема? – Mark

1

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

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

/с/BezantSoft

+0

Моя проблема была связана как с телефонными контактами, так и с контактами в моей учетной записи google. Я не уверен с HTC Eris (Android) 2.1 на полную релевантность совета VZW, который дал мне. Я прошел протокол «удалить приложения», и это не дало мне «улучшения редактирования контактов» в значительной степени. Конечно, будучи пользователем и разработчиком FOSS, я установил и удалил множество приложений. Это может иметь какое-то отношение к вещам. – BezantSoft

+0

Вчера вечером я сделал жесткий сброс по телефону. Это было не сложно. Теперь у меня есть контакты, и теперь они будут обновляться, если проблемы повторятся. Тем не менее, направления в онлайн-формате PDF (вероятно, v1.5/1.6) не соответствуют телефону v2.1: – BezantSoft

+0

Руководство пользователя: Для сброса настроек телефона 1. Нажмите HOME> MENU, затем нажмите «Настройки»> «Безопасность»> Сброс данных. ----- С 2.1, я нашел: HOME> МЕНЮ, затем НАСТРОЙКИ> КОНФИДЕНЦИАЛЬНОСТЬ> Сброс заводских данных Затем вы получите диалоговое окно предупреждения об заводском сбросе. – BezantSoft

3

Вставить в Data.CONTENT_URI вместо Phone.CONTENT_URI также вставить Data.MIMETYPE колонку с Phone.CONTENT_ITEM_TYPE.