安卓编辑联系人

Posted

技术标签:

【中文标题】安卓编辑联系人【英文标题】:android edit contact 【发布时间】:2011-03-11 10:22:46 【问题描述】:

您好,我正在尝试将电话号码添加到 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

【问题讨论】:

代码在真实设备上的错误是否与模拟器相同? Phone 对于 Android 2.1 已弃用 ....使用 ContactsContract 【参考方案1】:

http://www.higherpass.com/Android/Tutorials/Working-With-Android-Contacts/1/

http://developer.android.com/resources/samples/ContactManager/src/com/example/android/contactmanager/ContactAdder.html

检查这两个链接会有所帮助:)

【讨论】:

【参考方案2】:

插入Data.CONTENT_URI 而不是Phone.CONTENT_URI 还插入带有Phone.CONTENT_ITEM_TYPEData.MIMETYPE 列。

【讨论】:

【参考方案3】:

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

查看here了解更多关于android权限系统的信息

【讨论】:

ive 设置: 抱歉,我帮不上忙...希望您现在解决了您的问题,请告诉我们问题出在哪里?【参考方案4】:

您可能还想检查已安装的应用程序与程序内存。我的 Droid Eris 在联系人和几乎所有联系人感知应用程序中都能正常工作。

直到我超过了某个内存负载点。 VZW支持1级对我没有好处,我必须坚持2级支持。终于得到知道他菠菜的人的回答。他告诉我,我的手机上有太多应用程序,这是一个已知问题。 仍然没有减少我的工作集以使联系人编辑工作:-(

/s/ BezantSoft

【讨论】:

我的问题在于电话联系人和我的谷歌帐户中的联系人。我不确定 HTC Eris (Android) 2.1 与 VZW 给我的建议是否完全相关。我确实接受了“删除应用程序”协议,但它并没有给我很大程度的“联系人编辑”能力提升。当然,作为 FOSS 用户和开发者,我已经安装和卸载了一堆应用程序。这可能与事情有关。 昨晚我对手机进行了硬重置。这并不难。我现在有联系人编辑,如果再次出现问题,我会在这里更新。但是,在线 PDF(可能是 v1.5/1.6)上的说明与 v2.1 手机不匹配: 手动:重置手机 1. 按主菜单> 菜单,然后点击设置> 安全> 恢复出厂数据。 ----- 使用 2.1,我发现: HOME > MENU 然后 SETTINGS > PRIVACY > Factory data reset 然后你会看到出厂重置警告对话框。

以上是关于安卓编辑联系人的主要内容,如果未能解决你的问题,请参考以下文章

安卓智能手机怎样导入通信录/联系人

安卓系统139手机邮箱怎么设置联系人分组?

请问怎么在安卓手机里设置自己的头像

苹果手机上的联系人怎么可以传到安卓手机上

安卓联系人查询

如何更新安卓联系人公司?