如何在android 2.1中获取特定联系人的适当Uri

如何在android 2.1中获取特定联系人的适当Uri,第1张

概述我已经编写了一个应用程序,并在模拟器上添加了2个联系人,但是我无法在android2.1上更新其名称,代码正在处理android1.6平台使用以下代码.ContentValuescontactValues=newContentValues();contactValues.put(Contacts.People.NAME,firstName+""+lastName);getContentRe

我已经编写了一个应用程序,并在模拟器上添加了2个联系人,但是我
无法在android 2.1上更新其名称,代码正在处理
androID 1.6平台使用以下代码.

ContentValues contactValues = new ContentValues();contactValues.put(Contacts.People.name, firstname+" "+lastname);getContentResolver().update(UpdateContactUri, contactValues, null,null);

在androID 1.6中,我正在为两个联系人获取Uri:“ content://
联系人/人/ 1”和“内容://联系人/人/ 2”.

但在2.1中,我得到的这些值是“ content:// contacts / people / 8”
和“ content:// contacts / people / 9”,同时更新其给出的内容
“ java.IllegalArgumentException,空值”异常.

当我尝试放置一个静态的Uri如“ content:// contacts / people / 1”时,
代码已成功调试,但联系人未更新.

我怎么解决它,为什么我没有像1.6平台那样的uri?

提前致谢…

解决方法:

在androID 2.1中,我使用此Hack代码更新联系人姓名:

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;}
总结

以上是内存溢出为你收集整理的如何在android 2.1中获取特定联系人的适当Uri全部内容,希望文章能够帮你解决如何在android 2.1中获取特定联系人的适当Uri所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1082353.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-27
下一篇2022-05-27

发表评论

登录后才能评论

评论列表(0条)

    保存