android编辑联系人

时间:2010-07-03 12:29:57

标签: java android contact contactscontract

嗨我试图在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 个答案:

答案 0 :(得分:5)

答案 1 :(得分:3)

插入Data.CONTENT_URI代替Phone.CONTENT_URI,同时插入Data.MIMETYPEPhone.CONTENT_ITEM_TYPE

答案 2 :(得分:1)

您是否在AndroidManifest.xml中设置了正确的权限?据我所知,默认情况下限制访问个人信息(联系人)。

有关android

中权限系统的更多信息,请参阅here

答案 3 :(得分:1)

您还可能想要检查已安装的应用程序与程序内存。我的Droid Eris在联系人和几乎所有联系人知晓的应用程序上工作得很好。

直到我经历了一些内存负载。 VZW支持第一级对我没有好处,我不得不坚持二级支持。最后得到了一个知道他的菠菜的人的回答。他告诉我手机上有太多的应用程序,这是一个众所周知的问题 仍然没有削减我的工作设置足以让联系编辑工作: - (

/ s / BezantSoft