Android 保存联系人,包括部门\职位\传真\地址\照片

private void toSaveContactInfo() {
ContentValues values = new ContentValues();
// 首先向RawContacts.CONTENT_URI执行一个空值插入,目的是获取系统返回的rawContactId
Uri rawContactUri = context.getContentResolver().insert(
RawContacts.CONTENT_URI, values);
long rawContactId = ContentUris.parseId(rawContactUri); // 往data表入姓名数据
values.clear();
values.put(Data.RAW_CONTACT_ID, rawContactId);
values.put(Data.MIMETYPE, StructuredName.CONTENT_ITEM_TYPE);
values.put(StructuredName.GIVEN_NAME, mEmployee.getEmployeeName());
context.getContentResolver().insert(
android.provider.ContactsContract.Data.CONTENT_URI, values);
// 添加用户名 职位 部门
values.clear();
values.put(
android.provider.ContactsContract.Contacts.Data.RAW_CONTACT_ID,
rawContactId);
values.put(Data.MIMETYPE, Organization.CONTENT_ITEM_TYPE);
values.put(Organization.LABEL, mEmployee.getUserName());
values.put(Organization.TITLE, mEmployee.getJobName());
values.put(Organization.COMPANY, mEmployee.getOrgName());
values.put(Organization.TYPE, Organization.TYPE_WORK);
context.getContentResolver().insert(
android.provider.ContactsContract.Data.CONTENT_URI, values);
// 添加邮箱
values.clear();
values.put(
android.provider.ContactsContract.Contacts.Data.RAW_CONTACT_ID,
rawContactId);
values.put(Data.MIMETYPE, Email.CONTENT_ITEM_TYPE);
values.put(Email.DATA, mEmployee.getOfficeEmail());
values.put(Email.TYPE, Email.TYPE_WORK);
context.getContentResolver().insert(
android.provider.ContactsContract.Data.CONTENT_URI, values);
// 添加手机
if (mEmployee.getMobile().contains("或")) {
final String[] tNumbers = mEmployee.getMobile().split("或");
for (String tNum : tNumbers) {
values.clear();
values.put(
android.provider.ContactsContract.Contacts.Data.RAW_CONTACT_ID,
rawContactId);
values.put(Data.MIMETYPE, Phone.CONTENT_ITEM_TYPE);
values.put(Phone.NUMBER, tNum);
values.put(Phone.TYPE, Phone.TYPE_WORK_MOBILE);
context.getContentResolver().insert(
android.provider.ContactsContract.Data.CONTENT_URI,
values);
}
} else {
values.clear();
values.put(
android.provider.ContactsContract.Contacts.Data.RAW_CONTACT_ID,
rawContactId);
values.put(Data.MIMETYPE, Phone.CONTENT_ITEM_TYPE);
values.put(Phone.NUMBER, mEmployee.getMobile());
values.put(Phone.TYPE, Phone.TYPE_WORK_MOBILE);
context.getContentResolver().insert(
android.provider.ContactsContract.Data.CONTENT_URI, values);
}
// 添加固定电话
values.clear();
values.put(
android.provider.ContactsContract.Contacts.Data.RAW_CONTACT_ID,
rawContactId);
values.put(Data.MIMETYPE, Phone.CONTENT_ITEM_TYPE);
values.put(Phone.NUMBER, mEmployee.getOfficeTel());
values.put(Phone.TYPE, Phone.TYPE_WORK);
context.getContentResolver().insert(
android.provider.ContactsContract.Data.CONTENT_URI, values);
// 添加传真
values.clear();
values.put(
android.provider.ContactsContract.Contacts.Data.RAW_CONTACT_ID,
rawContactId);
values.put(Data.MIMETYPE, Phone.CONTENT_ITEM_TYPE);
values.put(Phone.NUMBER, mEmployee.getFax());
values.put(Phone.TYPE, Phone.TYPE_FAX_WORK);
context.getContentResolver().insert(
android.provider.ContactsContract.Data.CONTENT_URI, values);
// 添加地址 邮编
values.clear();
values.put(
android.provider.ContactsContract.Contacts.Data.RAW_CONTACT_ID,
rawContactId);
values.put(Data.MIMETYPE, StructuredPostal.CONTENT_ITEM_TYPE);
values.put(StructuredPostal.FORMATTED_ADDRESS, mEmployee.getAddress());
values.put(StructuredPostal.POSTCODE, mEmployee.getPostCode());
values.put(StructuredPostal.TYPE, StructuredPostal.TYPE_WORK);
context.getContentResolver().insert(
android.provider.ContactsContract.Data.CONTENT_URI, values);
// 添加头像
values.clear();
values.put(
android.provider.ContactsContract.Contacts.Data.RAW_CONTACT_ID,
rawContactId);
values.put(Data.MIMETYPE, Photo.CONTENT_ITEM_TYPE);
// if (mEmployee.getGender().equals("2"))// 为女,保存女性默认头像
// values.put(Photo.PHOTO,
// getDrawableToByte(R.drawable.oa_contact_head_f));
// else
// 男
values.put(Photo.PHOTO, getDrawableToByte(R.drawable.oa_contact_head_m));
context.getContentResolver().insert(
android.provider.ContactsContract.Data.CONTENT_URI, values);
// waitingDialog.dismiss();
isSave = true;
// Toast.makeText(context,
// "已保存" + mEmployee.getEmployeeName() + "的联系信息至本地通讯录",
// Toast.LENGTH_SHORT).show();
}
上一篇:ios开发学习- 简易音乐播放器2 (基于iPhone4s屏幕尺寸)-- 歌词解析--plist文件应用--imageNamed图片加载耗内存


下一篇:iOS开发之runtime运行时机制