zoukankan      html  css  js  c++  java
  • 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();
        }


  • 相关阅读:
    【java8】慎用java8的foreach循环(作废)
    【Java并发系列03】ThreadLocal详解
    【Java并发系列04】线程锁synchronized和Lock和volatile和Condition
    【Java并发系列02】Object的wait()、notify()、notifyAll()方法使用
    【Java并发系列01】Thread及ThreadGroup杂谈
    java安全管理器SecurityManager入门
    【DWR系列06】- DWR日志及js压缩
    时间插件
    springMVC中Restful支持
    面向接口编程
  • 原文地址:https://www.cnblogs.com/riskyer/p/3223587.html
Copyright © 2011-2022 走看看