您好 我正在更新联系人姓名和号码,上面的代码是
Uri workUri = Uri.withAppendedPath(ContactsContract.Contacts.CONTENT_URI, id);
ContentValues values = new ContentValues();
values.clear();
values.put(ContactsContract.Contacts.DISPLAY_NAME,""+editname);
values.put(ContactsContract.CommonDataKinds.Phone.NUMBER,""+editno);
getContentResolver().update(workUri, values, null, null);
但它不起作用。 任何人都可以建议我在哪里错了。 提前致谢
答案 0 :(得分:3)
您是否尝试将以下内容添加到AndroidManifest.xml中。
<uses-permission android:name="android.permission.READ_CONTACTS"></uses-permission>
<uses-permission android:name="android.permission.WRITE_CONTACTS"></uses-permission>
答案 1 :(得分:1)
除TIMES_CONTACTED
,LAST_TIME_CONTACTED
,STARRED
,CUSTOM_RINGTONE
和SEND_TO_VOICEMAIL
字段外,联系人中的所有其他字段均为只读
看到这个: http://developer.android.com/reference/android/provider/ContactsContract.Contacts.html
答案 2 :(得分:0)
联系人内容提供商以不同的方式工作..
在致电更新之前,请找到您需要更新的行的ID。
然后,您需要创建一个指向该行的Uri对象,并使用该URI调用update。