如何向 android 中的联系人添加新字段
How to add new field to a contact in android
我想为现有联系人添加新的电子邮件地址。
我使用这个代码:
ArrayList<ContentProviderOperation> insertEmailList =
new ArrayList<ContentProviderOperation>();
Uri uri=null;
for (ContactEmail contactEmail : emails) {
values.put(ContactsContract.Data.RAW_CONTACT_ID, id);
values.put(ContactsContract.Data.MIMETYPE, ContactsContract.CommonDataKinds.Email.CONTENT_ITEM_TYPE);
values.put(ContactsContract.CommonDataKinds.Email.ADDRESS, contactEmail.getEmailAddress());
values.put(ContactsContract.CommonDataKinds.Email.TYPE, ContactsContract.CommonDataKinds.Email.TYPE_CUSTOM);
uri=contentResolver.insert(android.provider.ContactsContract.Data.CONTENT_URI, values);
}
当运行这个代码uri
是content://com.android.contacts/data/2135
但我的联系人不是updated.myapp运行无一例外。
Cursor mRawContactCursor = context.getContentResolver().query(
ContactsContract.RawContacts.CONTENT_URI,
null,
ContactsContract.Data.CONTACT_ID + " = ?",
new String[] {ID},
null);
mRawContactCursor.moveToFirst();
String rawId = mRawContactCursor.getString(mRawContactCursor.getColumnIndex(ContactsContract.RawContacts._ID));
使用此代码查找 _ID 或 RAW_CONTACT_ID 然后更新或插入联系人。
for (ContactEmail contactEmail : emails) {
values.put(ContactsContract.Data.RAW_CONTACT_ID, rawId);
values.put(ContactsContract.Data.MIMETYPE, ContactsContract.CommonDataKinds.Email.CONTENT_ITEM_TYPE);
values.put(ContactsContract.CommonDataKinds.Email.ADDRESS, "a@a.com");
values.put(ContactsContract.CommonDataKinds.Email.TYPE, type.home);
contentResolver.insert(android.provider.ContactsContract.Data.CONTENT_URI, values);
}
我想为现有联系人添加新的电子邮件地址。
我使用这个代码:
ArrayList<ContentProviderOperation> insertEmailList =
new ArrayList<ContentProviderOperation>();
Uri uri=null;
for (ContactEmail contactEmail : emails) {
values.put(ContactsContract.Data.RAW_CONTACT_ID, id);
values.put(ContactsContract.Data.MIMETYPE, ContactsContract.CommonDataKinds.Email.CONTENT_ITEM_TYPE);
values.put(ContactsContract.CommonDataKinds.Email.ADDRESS, contactEmail.getEmailAddress());
values.put(ContactsContract.CommonDataKinds.Email.TYPE, ContactsContract.CommonDataKinds.Email.TYPE_CUSTOM);
uri=contentResolver.insert(android.provider.ContactsContract.Data.CONTENT_URI, values);
}
当运行这个代码uri
是content://com.android.contacts/data/2135
但我的联系人不是updated.myapp运行无一例外。
Cursor mRawContactCursor = context.getContentResolver().query(
ContactsContract.RawContacts.CONTENT_URI,
null,
ContactsContract.Data.CONTACT_ID + " = ?",
new String[] {ID},
null);
mRawContactCursor.moveToFirst();
String rawId = mRawContactCursor.getString(mRawContactCursor.getColumnIndex(ContactsContract.RawContacts._ID));
使用此代码查找 _ID 或 RAW_CONTACT_ID 然后更新或插入联系人。
for (ContactEmail contactEmail : emails) {
values.put(ContactsContract.Data.RAW_CONTACT_ID, rawId);
values.put(ContactsContract.Data.MIMETYPE, ContactsContract.CommonDataKinds.Email.CONTENT_ITEM_TYPE);
values.put(ContactsContract.CommonDataKinds.Email.ADDRESS, "a@a.com");
values.put(ContactsContract.CommonDataKinds.Email.TYPE, type.home);
contentResolver.insert(android.provider.ContactsContract.Data.CONTENT_URI, values);
}