我想更新现有的联系方式。首先,我想显示电话默认联系人界面,其中包含与一个联系人ID相关的现有联系信息。然后我想更新联系方式,如电话号码,姓名,电子邮件等。
public static void updateContactInPhone(Activity activity,Contact contact) {
try {
ArrayList<ContentProviderOperation> ops = new ArrayList<ContentProviderOperation>();
ops.add(ContentProviderOperation.newUpdate(Data.CONTENT_URI)
.withSelection(Data.RAW_CONTACT_ID + "=? AND " + Data.MIMETYPE + "='" + ContactsContract.CommonDataKinds.Phone.CONTENT_ITEM_TYPE + "'", new String[]{contact.getContactId()})
.withValue(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME, "new name")
.build());
ContentProviderResult[] result = activity.getContentResolver().applyBatch(ContactsContract.AUTHORITY, ops);
} catch (Exception e) {
Log.w("UpdateContact", e.getMessage()+"");
for(StackTraceElement ste : e.getStackTrace()) {
Log.w("UpdateContact", "\t" + ste.toString());
}
Context ctx = activity;
int duration = Toast.LENGTH_SHORT;
Toast toast = Toast.makeText(ctx, "Update failed", duration);
toast.show();
}
}
我试图根据这个更新名称,但我没有得到任何结果。请帮忙。