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();
}

Android 保存联系人,包括部门\职位\传真\地址\照片的更多相关文章

  1. Android 获取联系人手机号码、姓名、地址、公司、邮箱、生日

    public void testGetAllContact() throws Throwable { //获取联系人信息的Uri Uri uri = ContactsContract.Contacts ...

  2. [android] 保存联系人到系统通讯录

    对应着读联系人,把数据写进去,市场上的社交类应用经常会有这样的功能 向raw_contacts表中添加一个id 向data表里面添加对应的数据 获取ContentResolver对象,通过getCon ...

  3. android管理联系人操作

    ContentProvider扩展之管理系统联系人 我们都知道ContentProvider是用来共享数据的,然而android本身就提供了大量的ContentProvider,例如联系人信息,系统的 ...

  4. Android 查看联系人电话和姓名(ContentProvider)

    1.介绍 2.使用方法 3.在AndroidManifest.xml文件中添加相关设置 <uses-permission android:name="android.permissio ...

  5. 57.部门职位管理 ExtJs 展示

    1.jobInfo.jsp <%@ page language="java" pageEncoding="UTF-8"%> <script t ...

  6. Android系统联系人全特效实现(下),字母表快速滚动

    在上一篇文章中,我和大家一起实现了类似于Android系统联系人的分组导航和挤压动画功能,不过既然文章名叫做<Android系统联系人全特效实现>,那么没有快速滚动功能显然是称不上&quo ...

  7. android系统联系人分组特效实现(2)---字母表快速滚动

    要实现这种功能,只需要在   android系统联系人分组特效实现(1)---分组导航和挤压动画  的基础上再加上一个自定义控件即可完成. 1.新建项目,继续新建一个java类,BladeView,用 ...

  8. Android系统联系人全特效实现(上),分组导航和挤压动画

    记得在我刚接触Android的时候对系统联系人中的特效很感兴趣,它会根据手机中联系人姓氏的首字母进行分组,并在界面的最顶端始终显示一个当前的分组.如下图所示: 最让我感兴趣的是,当后一个分组和前一个分 ...

  9. Android 获取手机(ios,android)的设备唯一码(mac地址, IMEI)

    { /*获取手机(ios,android)的设备唯一码(mac地址, IMEI)2018年02月16日 ⁄ 综合 ⁄ 共 2697字 ⁄ 字号 小 中 大 ⁄ 评论关闭 app中总会用到客户端下载量数 ...

随机推荐

  1. [转载] ubuntu下定制Vim/Gvim及使用技巧

    vim是linux下的编辑器之神,是玩linux的必备工具,同样emacs是神的编辑器,两个编辑器是各有千秋,看个人的喜好,青菜萝卜各有所爱.我是比较喜欢vim,用vim编写bash,perl,pyt ...

  2. Heritrix源码分析(十四) 如何让Heritrix不间断的抓取(转)

    欢迎加入Heritrix群(QQ):109148319,10447185 , Lucene/Solr群(QQ) :  118972724 本博客已迁移到本人独立博客: http://www.yun5u ...

  3. 射手网字幕打包下载(73.16G)

    射手网陪着我度过15年了. 我所希望射手网所具有的价值,就是能令更多人跨越国家的樊篱,了解世界上不同的文化. 如果这个网站有帮到人,我就已经很满足了. 但是,需要射手网的时代已经走开了. 因此,今天, ...

  4. 隐藏 php apache 的版本号

    隐藏Apache版本信息 找到apache安装路径,譬如\Apache\conf\httpd.conf 修改httpd.conf ServerTokens ProductOnly ServerSign ...

  5. Java核心技术II读书笔记(一)

    Char2 XML 解析器:读入一个文件,确认其具有正确的格式,然后将其分解成各种元素,使程序员能够访问这些元素. java库提供了两种XML解析器:DOM和SAX,即文档对象模型和流机制解析器. D ...

  6. 为什么Jquery对input file控件的onchange事件只生效一次

    今天在做jquery对input file控件的onchange事件进行监听,就一直只生效一次,不知道Jquery为什么对file控件没有做到每次改变触发onchange事件的效果,但是还是有好几种解 ...

  7. 【转】PHP字符转义相关函数小结

    文章中有不正确的或者说辞不清的地方,麻烦大家指出了--- 与PHP字符串转义相关的配置和函数如下: 1.magic_quotes_runtime 2.magic_quotes_gpc 3.addsla ...

  8. PubSub的一种实现

    今天在浏览JavaScript事件时,复习了下Dean Edward大神的addEvent.突然觉得可以基于他的思路实现一个结构更好的PubSub. 思路也很简单,就是要维护一个类似如下的一个仓库结构 ...

  9. synchronized作用范围及用法

    1.多线程的同步: 1.1.同步机制: 在多线程中,可能有多个线程试图访问一个有限的资源,必须预防这种情况的发生.所以引入了同步机制:在线程使用一个资源时为其加锁,这样其他的线程便不能访问那个资源了, ...

  10. myeclipse10添加jQuery自动提示

    首先先要在装上spket插件,这个网上有好多教程,我就不详细说了,主要说一下后面的设置,因为我发现我按照网上的装完也设置完没办法使用自动提示功能,以下是我根据前辈的经验然后自己摸索出来的: 选中所建的 ...