android 导入联系人基本信息到电话簿
2015-08-20 11:29
211 查看
1.主方法:
private void importAddrBook(Staff staff) throws Exception {
ContentValues values = new ContentValues();
// * 首先向RawContacts.CONTENT_URI执行一个空值插入,目的是获得系统返回的rawContactId
Uri rawContactUri = getActivity().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, staff.getName());
getActivity().getContentResolver().insert(android.provider.ContactsContract.Data.CONTENT_URI, values);
// 写入办公电话;
values.clear();
values.put(Data.RAW_CONTACT_ID, rawContactId);
values.put(Data.MIMETYPE, Phone.CONTENT_ITEM_TYPE);
values.put(Phone.NUMBER, staff.getOfficeTel());
values.put(Phone.TYPE, Phone.TYPE_WORK);
getActivity().getContentResolver().insert(android.provider.ContactsContract.Data.CONTENT_URI, values);
// 往data表里写入手机号码
values.clear();
values.put(Data.RAW_CONTACT_ID, rawContactId);
values.put(Data.MIMETYPE, Phone.CONTENT_ITEM_TYPE);
values.put(Phone.NUMBER, staff.getMobile());
values.put(Phone.TYPE, Phone.TYPE_MOBILE);
getActivity().getContentResolver().insert(android.provider.ContactsContract.Data.CONTENT_URI, values);
// 往data表里写入虚拟号;
values.clear();
values.put(Data.RAW_CONTACT_ID, rawContactId);
values.put(Data.MIMETYPE, Phone.CONTENT_ITEM_TYPE);
values.put(Phone.NUMBER, staff.getVirtualNo());
values.put(Phone.TYPE, Phone.TYPE_CUSTOM);
getActivity().getContentResolver().insert(android.provider.ContactsContract.Data.CONTENT_URI, values);
/*
* values.clear(); values.put(Data.RAW_CONTACT_ID, rawContactId);
* values.put(Data.MIMETYPE, Email.CONTENT_ITEM_TYPE);
* values.put(Email.DATA, "liming@itcast.cn"); values.put(Email.TYPE,
* Email.TYPE_WORK);
* this.getContentResolver().insert(android.provider.ContactsContract
* .Data.CONTENT_URI, values);
*/
}
2:Staffle类:
@DatabaseTable(tableName = "staff")
public class Staff implements Serializable {
private static final long serialVersionUID = 6380582055322229386L;
@DatabaseField(id = true)
private String staffId;
@DatabaseField
private String name;
@DatabaseField
private String namePinyin;
@DatabaseField
private String post;
@DatabaseField
private String deptId;
@DatabaseField
private String deptName;
@DatabaseField
private String secDeptId;
@DatabaseField
private String secDeptName;
@DatabaseField
private String officeTel;
@DatabaseField
private String mobile;
@DatabaseField
private String virtualNo;
@DatabaseField
private boolean isDelete;
//省略get()和set()方法
private void importAddrBook(Staff staff) throws Exception {
ContentValues values = new ContentValues();
// * 首先向RawContacts.CONTENT_URI执行一个空值插入,目的是获得系统返回的rawContactId
Uri rawContactUri = getActivity().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, staff.getName());
getActivity().getContentResolver().insert(android.provider.ContactsContract.Data.CONTENT_URI, values);
// 写入办公电话;
values.clear();
values.put(Data.RAW_CONTACT_ID, rawContactId);
values.put(Data.MIMETYPE, Phone.CONTENT_ITEM_TYPE);
values.put(Phone.NUMBER, staff.getOfficeTel());
values.put(Phone.TYPE, Phone.TYPE_WORK);
getActivity().getContentResolver().insert(android.provider.ContactsContract.Data.CONTENT_URI, values);
// 往data表里写入手机号码
values.clear();
values.put(Data.RAW_CONTACT_ID, rawContactId);
values.put(Data.MIMETYPE, Phone.CONTENT_ITEM_TYPE);
values.put(Phone.NUMBER, staff.getMobile());
values.put(Phone.TYPE, Phone.TYPE_MOBILE);
getActivity().getContentResolver().insert(android.provider.ContactsContract.Data.CONTENT_URI, values);
// 往data表里写入虚拟号;
values.clear();
values.put(Data.RAW_CONTACT_ID, rawContactId);
values.put(Data.MIMETYPE, Phone.CONTENT_ITEM_TYPE);
values.put(Phone.NUMBER, staff.getVirtualNo());
values.put(Phone.TYPE, Phone.TYPE_CUSTOM);
getActivity().getContentResolver().insert(android.provider.ContactsContract.Data.CONTENT_URI, values);
/*
* values.clear(); values.put(Data.RAW_CONTACT_ID, rawContactId);
* values.put(Data.MIMETYPE, Email.CONTENT_ITEM_TYPE);
* values.put(Email.DATA, "liming@itcast.cn"); values.put(Email.TYPE,
* Email.TYPE_WORK);
* this.getContentResolver().insert(android.provider.ContactsContract
* .Data.CONTENT_URI, values);
*/
}
2:Staffle类:
@DatabaseTable(tableName = "staff")
public class Staff implements Serializable {
private static final long serialVersionUID = 6380582055322229386L;
@DatabaseField(id = true)
private String staffId;
@DatabaseField
private String name;
@DatabaseField
private String namePinyin;
@DatabaseField
private String post;
@DatabaseField
private String deptId;
@DatabaseField
private String deptName;
@DatabaseField
private String secDeptId;
@DatabaseField
private String secDeptName;
@DatabaseField
private String officeTel;
@DatabaseField
private String mobile;
@DatabaseField
private String virtualNo;
@DatabaseField
private boolean isDelete;
//省略get()和set()方法
相关文章推荐
- Android在设置里面添加新功能的方法
- Android studio相关设置及实现存在于工程目录中的视频播放
- android 构建GPS Provide步骤及信息
- Android Studio配置SVN 以及使用代码管理
- Android init进程分析——学习笔记
- Android adt 添加J2ee 开发插件
- Android 开发工具类 36_ getSimSerial
- Android Fragment 你应该知道的一切
- Android(java)学习笔记181:Android 服务的应用,在Activity中实现背景音乐播放
- Android中pendingIntent
- Android保持屏幕常亮的两种方法
- android studio 开发遇到的问题解决集锦
- ”郭神“---Android ListView异步加载图片乱序问题,原因分析及解决方案
- Android 自带的分享的案例
- android shape使用总结
- Android编译过程详解(三)
- Android(java)学习笔记180:Android MediaPlayer 播放prepareAsync called in state 8解决办法
- android res之shape
- edittext不显示光标的情况
- 你的老板希望你会是一个什么样的IT人