Android ContentProvider往通讯录添加联系人

来源:互联网 发布:数据的物理独立性是指 编辑:程序博客网 时间:2024/06/04 18:58

http://www.cnblogs.com/linjiqin/archive/2011/05/30/2063669.html


    /**     * 首先向RawContacts.CONTENT_URI执行一个空值插入,目的是获取系统返回的rawContactId      *      * 这是后面插入data表的数据,只有执行空值插入,才能使插入的联系人在通讯录里可见     */    public static void testInsert(Context context){        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, "小狗");        context.getContentResolver().insert(                android.provider.ContactsContract.Data.CONTENT_URI, values);                //往data表入电话数据        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, "5554");        values.put(Phone.TYPE, Phone.TYPE_MOBILE);        context.getContentResolver().insert(                android.provider.ContactsContract.Data.CONTENT_URI, values);        //往data表入电话数据        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, "55555555555");        values.put(Phone.TYPE, Phone.TYPE_MOBILE);        context.getContentResolver().insert(                android.provider.ContactsContract.Data.CONTENT_URI, values);                        //往data表入Email数据        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, "ljq218@126.com");        values.put(Email.TYPE, Email.TYPE_WORK);        context.getContentResolver().insert(                android.provider.ContactsContract.Data.CONTENT_URI, values);    }



补充:

通讯录中联系人的信息有很多项,就联系人名字一项就有很多,并不是仅仅

   values.put(StructuredName.GIVEN_NAME, "小狗");
其实丰富一点应该是:

values.put(StructuredName.GIVEN_NAME, "小狗");values.put(StructuredName.PREFIX, "小狗的前缀");values.put(StructuredName.MIDDLE_NAME, "小狗的中间名");values.put(StructuredName.SUFFIX, "小狗的后缀");values.put(StructuredName.FAMILY_NAME, "小狗的姓氏");
其他信息项也是如此。。。。需要逐个翻找出来
0 0
原创粉丝点击