Android完整的通讯录获取多个手机号码、多个邮箱、多个地址、生日、备份等信息的代码
整个删除通讯录
方法一:
public static void deleteAllContacts(Context context) {
ContentResolver cr = context.getContentResolver();
Uri uri4 = ContactsContract.RawContacts.CONTENT_URI.buildUpon().appendQueryParameter(ContactsContract.CALLER_IS_SYNCADAPTER, "true").build();
cr.delete(uri4, null, null);
}
方法二:
public static void deleteAllContacts(Context context) {
ContentResolver cr = context.getContentResolver();
Cursor cursor = cr.query(ContactsContract.Contacts.CONTENT_URI, null,
null, null, null);
if (cursor.getCount() > 0) {
while (cursor.moveToNext()) {
@SuppressLint("Range") String name = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));
Uri uri = Uri.parse("content://com.android.contacts/raw_contacts");
Cursor cursor1 = cr.query(uri, new String[]{ContactsContract.Data._ID}, "display_name=?", new String[]{name}, null);
if (cursor1.moveToFirst()) {
int id = cursor1.getInt(0);
cr.delete(uri, "display_name=?", new String[]{name});
uri = Uri.parse("content://com.android.contacts/data");
cr.delete(uri, "raw_contact_id=?", new String[]{id + ""});
}
cursor1.close();
}
}
cursor.close();
}
获取通讯录姓名、id、多个手机号码、多个邮箱、多个地址、生日、备注信息
private static List<ContactsBean> list;
@SuppressLint("Range")
public static void fetchContact(Context context) {
list = new ArrayList<>();
ContentResolver cr = context.getContentResolver();
Cursor cur = cr.query(ContactsContract.Contacts.CONTENT_URI, null, null, null, null);
if (cur.getCount() > 0) {
while (cur.moveToNext()) {
String id = cur.getString(cur.getColumnIndex(ContactsContract.Contacts._ID));
String name = cur.getString(cur.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));
ContactsBean contactClass = new ContactsBean();
contactClass.id = id;
contactClass.name = name;
if (cur.getInt(cur.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER)) > 0) {
Cursor pCur = cr.query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null,
ContactsContract.CommonDataKinds.Phone.CONTACT_ID + " = ?",
new String[]{id}, null);
contactClass.phone = new ContactsBean.Phone();
while (pCur.moveToNext()) {
String phoneNo = pCur.getString(pCur.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
int type = pCur.getInt(pCur.getColumnIndex(ContactsContract.CommonDataKinds.Phone.TYPE));
switch (type) {
case ContactsContract.CommonDataKinds.Phone.TYPE_HOME:
try {
if (phoneNo.equals("") || phoneNo != null) {
contactClass.phone.home = phoneNo;
}
} catch (Exception e) {
Log.d(TAG, e.toString());
}
break;
case ContactsContract.CommonDataKinds.Phone.TYPE_MOBILE:
try {
if (phoneNo.equals("") || phoneNo != null) {
contactClass.phone.mobile1 = phoneNo;
}
} catch (Exception e) {
Log.d(TAG, e.toString());
}
break;
case ContactsContract.CommonDataKinds.Phone.TYPE_WORK:
try {
if (phoneNo.equals("") || phoneNo != null) {
contactClass.phone.work = phoneNo;
}
} catch (Exception e) {
Log.d(TAG, e.toString());
}
break;
case ContactsContract.CommonDataKinds.Phone.TYPE_FAX_HOME:
try {
if (phoneNo.equals("") || phoneNo != null) {
contactClass.phone.faxhome = phoneNo;
}
} catch (Exception e) {
Log.d(TAG, e.toString());
}
break;
case ContactsContract.CommonDataKinds.Phone.TYPE_FAX_WORK:
try {
if (phoneNo.equals("") || phoneNo != null) {
contactClass.phone.faxwork = phoneNo;
}
} catch (Exception e) {
Log.d(TAG, e.toString());
}
break;
case ContactsContract.CommonDataKinds.Phone.TYPE_MAIN:
try {
if (phoneNo.equals("") || phoneNo != null) {
contactClass.phone.main = phoneNo;
}
} catch (Exception e) {
Log.d(TAG, e.toString());
}
break;
case ContactsContract.CommonDataKinds.Phone.TYPE_OTHER:
try {
if (phoneNo.equals("") || phoneNo != null) {
contactClass.phone.other = phoneNo;
}
} catch (Exception e) {
Log.d(TAG, e.toString());
}
break;
case ContactsContract.CommonDataKinds.Phone.TYPE_CUSTOM:
try {
if (phoneNo.equals("") || phoneNo != null) {
contactClass.phone.custom = phoneNo;
}
} catch (Exception e) {
Log.d(TAG, e.toString());
}
break;
case ContactsContract.CommonDataKinds.Phone.TYPE_PAGER:
try {
if (phoneNo.equals("") || phoneNo != null) {
contactClass.phone.pager = phoneNo;
}
} catch (Exception e) {
Log.d(TAG, e.toString());
}
break;
}
}
pCur.close();
}
Cursor emailCur = cr.query(ContactsContract.CommonDataKinds.Email.CONTENT_URI, null,
ContactsContract.CommonDataKinds.Email.CONTACT_ID + " = " + id, null, null);
if (emailCur.getCount() > 0) {
contactClass.email = new ContactsBean.Email();
while (emailCur.moveToNext()) {
int emailType = emailCur.getInt(emailCur.getColumnIndex(ContactsContract.CommonDataKinds.Email.TYPE));
String email = emailCur.getString(emailCur.getColumnIndex(ContactsContract.CommonDataKinds.Email.DATA));
switch (emailType) {
case ContactsContract.CommonDataKinds.Email.TYPE_HOME:
contactClass.email.home = email;
break;
case ContactsContract.CommonDataKinds.Email.TYPE_WORK:
contactClass.email.work = email;
break;
case ContactsContract.CommonDataKinds.Email.TYPE_OTHER:
contactClass.email.other = email;
break;
case ContactsContract.CommonDataKinds.Email.TYPE_MOBILE:
contactClass.email.mobile = email;
break;
default:
throw new IllegalStateException("Unexpected value: " + emailType);
}
Log.e(TAG, " emailType: " + emailType + " email: " + email);
}
}
emailCur.close();
Cursor addressCur = cr.query(ContactsContract.CommonDataKinds.StructuredPostal.CONTENT_URI, null,
ContactsContract.CommonDataKinds.StructuredPostal.CONTACT_ID + " = " + id, null, null);
if (addressCur.getCount() > 0) {
contactClass.address = new ContactsBean.Address();
while (addressCur.moveToNext()) {
String country = addressCur.getString(addressCur.getColumnIndex(ContactsContract.CommonDataKinds.StructuredPostal.COUNTRY));
String city = addressCur.getString(addressCur.getColumnIndex(ContactsContract.CommonDataKinds.StructuredPostal.CITY));
String street = addressCur.getString(addressCur.getColumnIndex(ContactsContract.CommonDataKinds.StructuredPostal.STREET));
String region = addressCur.getString(addressCur.getColumnIndex(ContactsContract.CommonDataKinds.StructuredPostal.REGION));
String postCode = addressCur.getString(addressCur.getColumnIndex(ContactsContract.CommonDataKinds.StructuredPostal.POSTCODE));
String formatAddress = addressCur.getString(addressCur.getColumnIndex(ContactsContract.CommonDataKinds.StructuredPostal.FORMATTED_ADDRESS));
int addressType = addressCur.getInt(addressCur.getColumnIndex(ContactsContract.CommonDataKinds.StructuredPostal.TYPE));
switch (addressType) {
case ContactsContract.CommonDataKinds.StructuredPostal.TYPE_HOME:
contactClass.address.home = new ContactsBean.Address.AddressInfo();
contactClass.address.home.country = country;
contactClass.address.home.city = city;
contactClass.address.home.street = street;
contactClass.address.home.region = region;
contactClass.address.home.postalCode = postCode;
contactClass.address.home.formatAddress = formatAddress;
break;
case ContactsContract.CommonDataKinds.StructuredPostal.TYPE_WORK:
contactClass.address.work = new ContactsBean.Address.AddressInfo();
contactClass.address.work.country = country;
contactClass.address.work.city = city;
contactClass.address.work.street = street;
contactClass.address.work.region = region;
contactClass.address.work.postalCode = postCode;
contactClass.address.work.formatAddress = formatAddress;
break;
case ContactsContract.CommonDataKinds.StructuredPostal.TYPE_OTHER:
contactClass.address.other = new ContactsBean.Address.AddressInfo();
contactClass.address.other.country = country;
contactClass.address.other.city = city;
contactClass.address.other.street = street;
contactClass.address.other.region = region;
contactClass.address.other.postalCode = postCode;
contactClass.address.other.formatAddress = formatAddress;
break;
default:
break;
}
Log.e(TAG, " country :" + country + " city: " + city + " street: " + street +
" region: " + region + " postCode: " + postCode + " formatAddress: " + formatAddress);
Log.e(TAG, "addressType : " + addressType);
}
}
addressCur.close();
String[] columns = {ContactsContract.CommonDataKinds.Event.START_DATE,
ContactsContract.CommonDataKinds.Event.TYPE,
ContactsContract.CommonDataKinds.Event.MIMETYPE};
String where = ContactsContract.CommonDataKinds.Event.TYPE + "=" + ContactsContract.CommonDataKinds.Event.TYPE_BIRTHDAY +
" and " + ContactsContract.CommonDataKinds.Event.MIMETYPE + " = '" + ContactsContract.CommonDataKinds.Event.CONTENT_ITEM_TYPE
+ "' and " + ContactsContract.Data.CONTACT_ID + " = " + id;
String sortOrder = ContactsContract.Contacts.DISPLAY_NAME;
Cursor birthdayCur = cr.query(ContactsContract.Data.CONTENT_URI, columns, where, null, sortOrder);
if (birthdayCur.getCount() > 0) {
while (birthdayCur.moveToNext()) {
String birthday = birthdayCur.getString(birthdayCur.getColumnIndex(ContactsContract.CommonDataKinds.Event.START_DATE));
int birthdayType = birthdayCur.getInt(birthdayCur.getColumnIndex(ContactsContract.CommonDataKinds.Event.TYPE));
Log.e(TAG, "birthday : " + birthday + " birthdayType: " + birthdayType);
contactClass.birthday_g = birthday;
}
birthdayCur.close();
}
Cursor noteCur = cr.query(ContactsContract.Data.CONTENT_URI,
new String[]{ContactsContract.Data._ID, ContactsContract.CommonDataKinds.Note.NOTE},
ContactsContract.Data.CONTACT_ID + "=?" + " AND " + ContactsContract.Data.MIMETYPE + "='"
+ ContactsContract.CommonDataKinds.Note.CONTENT_ITEM_TYPE + "'", new String[]{id}, null);
if (noteCur.getCount() > 0) {
while (noteCur.moveToNext()) {
String note = noteCur.getString(noteCur.getColumnIndex(ContactsContract.CommonDataKinds.Note.NOTE));
Log.e(TAG, "note: " + note);
contactClass.remark = note;
}
}
noteCur.close();
list.add(contactClass);
}
String s = JSON.toJSONString(list);
Log.e(TAG, s);
}
cur.close();
}
插入多个手机号码、邮箱、地址等信息
public static void addContact(Context context, ContactsBean contactsBean) {
ContentValues values = new ContentValues();
ContentResolver cr = context.getContentResolver();
Uri rawContactUri = cr.insert(ContactsContract.RawContacts.CONTENT_URI, values);
long rawContactId = ContentUris.parseId(rawContactUri);
values.clear();
values.put(ContactsContract.Data.RAW_CONTACT_ID, rawContactId);
values.put(ContactsContract.Data.MIMETYPE, ContactsContract.CommonDataKinds.StructuredName.CONTENT_ITEM_TYPE);
values.put(ContactsContract.CommonDataKinds.StructuredName.GIVEN_NAME, contactsBean.name);
cr.insert(ContactsContract.Data.CONTENT_URI, values);
if (contactsBean.phone != null) {
if (contactsBean.phone.mobile1 != null) {
values.clear();
values.put(ContactsContract.Data.RAW_CONTACT_ID, rawContactId);
values.put(ContactsContract.Data.MIMETYPE, ContactsContract.CommonDataKinds.Phone.CONTENT_ITEM_TYPE);
values.put(ContactsContract.CommonDataKinds.Phone.NUMBER, contactsBean.phone.mobile1);
values.put(ContactsContract.CommonDataKinds.Phone.TYPE, ContactsContract.CommonDataKinds.Phone.TYPE_MOBILE);
cr.insert(ContactsContract.Data.CONTENT_URI, values);
}
if (contactsBean.phone.mobile2 != null) {
values.clear();
values.put(ContactsContract.Data.RAW_CONTACT_ID, rawContactId);
values.put(ContactsContract.Data.MIMETYPE, ContactsContract.CommonDataKinds.Phone.CONTENT_ITEM_TYPE);
values.put(ContactsContract.CommonDataKinds.Phone.NUMBER, contactsBean.phone.mobile2);
values.put(ContactsContract.CommonDataKinds.Phone.TYPE, ContactsContract.CommonDataKinds.Phone.TYPE_MOBILE);
cr.insert(ContactsContract.Data.CONTENT_URI, values);
}
if (contactsBean.phone.home != null) {
values.clear();
values.put(ContactsContract.Data.RAW_CONTACT_ID, rawContactId);
values.put(ContactsContract.Data.MIMETYPE, ContactsContract.CommonDataKinds.Phone.CONTENT_ITEM_TYPE);
values.put(ContactsContract.CommonDataKinds.Phone.NUMBER, contactsBean.phone.home);
values.put(ContactsContract.CommonDataKinds.Phone.TYPE, ContactsContract.CommonDataKinds.Phone.TYPE_HOME);
cr.insert(ContactsContract.Data.CONTENT_URI, values);
}
if (contactsBean.phone.work != null) {
values.clear();
values.put(ContactsContract.Data.RAW_CONTACT_ID, rawContactId);
values.put(ContactsContract.Data.MIMETYPE, ContactsContract.CommonDataKinds.Phone.CONTENT_ITEM_TYPE);
values.put(ContactsContract.CommonDataKinds.Phone.NUMBER, contactsBean.phone.work);
values.put(ContactsContract.CommonDataKinds.Phone.TYPE, ContactsContract.CommonDataKinds.Phone.TYPE_WORK);
cr.insert(ContactsContract.Data.CONTENT_URI, values);
}
if (contactsBean.phone.faxhome != null) {
values.clear();
values.put(ContactsContract.Data.RAW_CONTACT_ID, rawContactId);
values.put(ContactsContract.Data.MIMETYPE, ContactsContract.CommonDataKinds.Phone.CONTENT_ITEM_TYPE);
values.put(ContactsContract.CommonDataKinds.Phone.NUMBER, contactsBean.phone.faxhome);
values.put(ContactsContract.CommonDataKinds.Phone.TYPE, ContactsContract.CommonDataKinds.Phone.TYPE_FAX_HOME);
cr.insert(ContactsContract.Data.CONTENT_URI, values);
}
if (contactsBean.phone.faxwork != null) {
values.clear();
values.put(ContactsContract.Data.RAW_CONTACT_ID, rawContactId);
values.put(ContactsContract.Data.MIMETYPE, ContactsContract.CommonDataKinds.Phone.CONTENT_ITEM_TYPE);
values.put(ContactsContract.CommonDataKinds.Phone.NUMBER, contactsBean.phone.faxwork);
values.put(ContactsContract.CommonDataKinds.Phone.TYPE, ContactsContract.CommonDataKinds.Phone.TYPE_FAX_WORK);
cr.insert(ContactsContract.Data.CONTENT_URI, values);
}
if (contactsBean.phone.main != null) {
values.clear();
values.put(ContactsContract.Data.RAW_CONTACT_ID, rawContactId);
values.put(ContactsContract.Data.MIMETYPE, ContactsContract.CommonDataKinds.Phone.CONTENT_ITEM_TYPE);
values.put(ContactsContract.CommonDataKinds.Phone.NUMBER, contactsBean.phone.main);
values.put(ContactsContract.CommonDataKinds.Phone.TYPE, ContactsContract.CommonDataKinds.Phone.TYPE_MAIN);
cr.insert(ContactsContract.Data.CONTENT_URI, values);
}
if (contactsBean.phone.other != null) {
values.clear();
values.put(ContactsContract.Data.RAW_CONTACT_ID, rawContactId);
values.put(ContactsContract.Data.MIMETYPE, ContactsContract.CommonDataKinds.Phone.CONTENT_ITEM_TYPE);
values.put(ContactsContract.CommonDataKinds.Phone.NUMBER, contactsBean.phone.other);
values.put(ContactsContract.CommonDataKinds.Phone.TYPE, ContactsContract.CommonDataKinds.Phone.TYPE_OTHER);
cr.insert(ContactsContract.Data.CONTENT_URI, values);
}
if (contactsBean.phone.custom != null) {
values.clear();
values.put(ContactsContract.Data.RAW_CONTACT_ID, rawContactId);
values.put(ContactsContract.Data.MIMETYPE, ContactsContract.CommonDataKinds.Phone.CONTENT_ITEM_TYPE);
values.put(ContactsContract.CommonDataKinds.Phone.NUMBER, contactsBean.phone.custom);
values.put(ContactsContract.CommonDataKinds.Phone.TYPE, ContactsContract.CommonDataKinds.Phone.TYPE_CUSTOM);
cr.insert(ContactsContract.Data.CONTENT_URI, values);
}
if (contactsBean.phone.pager != null) {
values.clear();
values.put(ContactsContract.Data.RAW_CONTACT_ID, rawContactId);
values.put(ContactsContract.Data.MIMETYPE, ContactsContract.CommonDataKinds.Phone.CONTENT_ITEM_TYPE);
values.put(ContactsContract.CommonDataKinds.Phone.NUMBER, contactsBean.phone.pager);
values.put(ContactsContract.CommonDataKinds.Phone.TYPE, ContactsContract.CommonDataKinds.Phone.TYPE_PAGER);
cr.insert(ContactsContract.Data.CONTENT_URI, values);
}
}
if (contactsBean.address != null) {
if (contactsBean.address.home != null) {
values.clear();
values.put(Data.RAW_CONTACT_ID, rawContactId);
values.put(ContactsContract.Data.MIMETYPE, ContactsContract.CommonDataKinds.StructuredPostal.CONTENT_ITEM_TYPE);
values.put(ContactsContract.CommonDataKinds.StructuredPostal.TYPE, ContactsContract.CommonDataKinds.StructuredPostal.TYPE_HOME);
values.put(ContactsContract.CommonDataKinds.StructuredPostal.COUNTRY, contactsBean.address.home.country);
values.put(ContactsContract.CommonDataKinds.StructuredPostal.CITY, contactsBean.address.home.city);
values.put(ContactsContract.CommonDataKinds.StructuredPostal.REGION, contactsBean.address.home.region);
values.put(ContactsContract.CommonDataKinds.StructuredPostal.STREET, contactsBean.address.home.street);
values.put(ContactsContract.CommonDataKinds.StructuredPostal.POSTCODE, contactsBean.address.home.postalCode);
values.put(ContactsContract.CommonDataKinds.StructuredPostal.FORMATTED_ADDRESS, contactsBean.address.home.formatAddress);
cr.insert(ContactsContract.Data.CONTENT_URI, values);
}
if (contactsBean.address.work != null) {
values.clear();
values.put(Data.RAW_CONTACT_ID, rawContactId);
values.put(ContactsContract.Data.MIMETYPE, ContactsContract.CommonDataKinds.StructuredPostal.CONTENT_ITEM_TYPE);
values.put(ContactsContract.CommonDataKinds.StructuredPostal.TYPE, ContactsContract.CommonDataKinds.StructuredPostal.TYPE_WORK);
values.put(ContactsContract.CommonDataKinds.StructuredPostal.COUNTRY, contactsBean.address.work.country);
values.put(ContactsContract.CommonDataKinds.StructuredPostal.CITY, contactsBean.address.work.city);
values.put(ContactsContract.CommonDataKinds.StructuredPostal.REGION, contactsBean.address.work.region);
values.put(ContactsContract.CommonDataKinds.StructuredPostal.STREET, contactsBean.address.work.street);
values.put(ContactsContract.CommonDataKinds.StructuredPostal.POSTCODE, contactsBean.address.work.postalCode);
values.put(ContactsContract.CommonDataKinds.StructuredPostal.FORMATTED_ADDRESS, contactsBean.address.work.formatAddress);
cr.insert(ContactsContract.Data.CONTENT_URI, values);
}
if (contactsBean.address.other != null) {
values.clear();
values.put(Data.RAW_CONTACT_ID, rawContactId);
values.put(ContactsContract.Data.MIMETYPE, ContactsContract.CommonDataKinds.StructuredPostal.CONTENT_ITEM_TYPE);
values.put(ContactsContract.CommonDataKinds.StructuredPostal.TYPE, ContactsContract.CommonDataKinds.StructuredPostal.TYPE_OTHER);
values.put(ContactsContract.CommonDataKinds.StructuredPostal.COUNTRY, contactsBean.address.other.country);
values.put(ContactsContract.CommonDataKinds.StructuredPostal.CITY, contactsBean.address.other.city);
values.put(ContactsContract.CommonDataKinds.StructuredPostal.REGION, contactsBean.address.other.region);
values.put(ContactsContract.CommonDataKinds.StructuredPostal.STREET, contactsBean.address.other.street);
values.put(ContactsContract.CommonDataKinds.StructuredPostal.POSTCODE, contactsBean.address.other.postalCode);
values.put(ContactsContract.CommonDataKinds.StructuredPostal.FORMATTED_ADDRESS, contactsBean.address.other.formatAddress);
cr.insert(ContactsContract.Data.CONTENT_URI, values);
}
}
if (contactsBean.email != null) {
if (contactsBean.email.home != null) {
values.clear();
values.put(Data.RAW_CONTACT_ID, rawContactId);
values.put(ContactsContract.Data.MIMETYPE, Email.CONTENT_ITEM_TYPE);
values.put(ContactsContract.CommonDataKinds.Email.DATA, contactsBean.email.home);
values.put(Email.TYPE, Email.TYPE_HOME);
cr.insert(ContactsContract.Data.CONTENT_URI, values);
}
if (contactsBean.email.work != null) {
values.clear();
values.put(Data.RAW_CONTACT_ID, rawContactId);
values.put(ContactsContract.Data.MIMETYPE, Email.CONTENT_ITEM_TYPE);
values.put(ContactsContract.CommonDataKinds.Email.DATA, contactsBean.email.work);
values.put(Email.TYPE, Email.TYPE_WORK);
cr.insert(ContactsContract.Data.CONTENT_URI, values);
}
if (contactsBean.email.other != null) {
values.clear();
values.put(Data.RAW_CONTACT_ID, rawContactId);
values.put(ContactsContract.Data.MIMETYPE, Email.CONTENT_ITEM_TYPE);
values.put(ContactsContract.CommonDataKinds.Email.DATA, contactsBean.email.other);
values.put(Email.TYPE, Email.TYPE_OTHER);
cr.insert(ContactsContract.Data.CONTENT_URI, values);
}
if (contactsBean.email.mobile != null) {
values.clear();
values.put(Data.RAW_CONTACT_ID, rawContactId);
values.put(ContactsContract.Data.MIMETYPE, Email.CONTENT_ITEM_TYPE);
values.put(ContactsContract.CommonDataKinds.Email.DATA, contactsBean.email.mobile);
values.put(Email.TYPE, Email.TYPE_MOBILE);
cr.insert(ContactsContract.Data.CONTENT_URI, values);
}
}
if (contactsBean.birthday_g != null) {
values.clear();
values.put(Data.RAW_CONTACT_ID, rawContactId);
values.put(ContactsContract.Data.MIMETYPE, ContactsContract.CommonDataKinds.Event.CONTENT_ITEM_TYPE);
values.put(ContactsContract.CommonDataKinds.Event.TYPE, ContactsContract.CommonDataKinds.Event.TYPE_BIRTHDAY);
values.put(ContactsContract.CommonDataKinds.Event.START_DATE, contactsBean.birthday_g);
cr.insert(ContactsContract.Data.CONTENT_URI, values);
}
if (contactsBean.remark != null) {
values.clear();
values.put(ContactsContract.Data.RAW_CONTACT_ID, rawContactId);
values.put(ContactsContract.Data.MIMETYPE, ContactsContract.CommonDataKinds.Note.CONTENT_ITEM_TYPE);
values.put(ContactsContract.CommonDataKinds.Note.NOTE, contactsBean.remark);
cr.insert(ContactsContract.Data.CONTENT_URI, values);
}
}
public static void insertContact(Context context) {
if (list != null && list.size() > 0) {
for (int i = 0; i < list.size(); i++) {
addContact(context, list.get(i));
}
list.clear();
}
}
ContactsBean, Mode定义
public class ContactsBean implements Serializable {
public String id;
public String name;
public Phone phone;
public Address address;
public Email email;
public static class Phone implements Serializable {
public String mobile1;
public String mobile2;
public String mobile3;
public String home;
public String work;
public String faxhome;
public String faxwork;
public String main;
public String other;
public String custom;
public String pager;
}
public static class Email implements Serializable {
public String home;
public String work;
public String mobile;
public String other;
}
public static class Address implements Serializable {
public AddressInfo home;
public AddressInfo work;
public AddressInfo other;
public static class AddressInfo implements Serializable{
public String country;
public String province;
public String city;
public String region;
public String street;
public String postalCode;
public String formatAddress;
}
}
public String birthday_g;
public String birthday_l;
public String remark;
}