
我已经编写了一个应用程序,并在模拟器上添加了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所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)