Android 向系统添加一个联系人信息contact

  private void writeContacts() {
        Uri rawContacts = Uri.parse("content://com.android.contacts/raw_contacts");
        //1,获取当前最大的联系人id
        Cursor cursor = getContentResolver().query(rawContacts, new String[]{"contact_id"}, null, null, null);
        cursor.moveToLast();
        //生成最大的联系人id,这将是我们添加进去之后的id了
        int newId = cursor.getInt(0) + 1;
        cursor.close();

        //2.添加一个联系人id进raw_contacts表
        ContentValues contentValues = new ContentValues();
        contentValues.put("contact_id", newId);
        getContentResolver().insert(rawContacts, contentValues);

        Uri dataUri = Uri.parse("content://com.android.contacts/data");

        //3.添加姓名信息
        contentValues.clear();
        contentValues.put("raw_contact_id", newId);//联系人id
        contentValues.put("data1", "heyiyong");//联系人名称
        contentValues.put("mimetype", "vnd.android.cursor.item/name");//联系人名称
        getContentResolver().insert(dataUri, contentValues);

        //4.添加邮箱
        contentValues.clear();
        contentValues.put("raw_contact_id", newId);//联系人id
        contentValues.put("data1", "290248126@qq.com");//数据
        contentValues.put("mimetype", "vnd.android.cursor.item/email_v2");//数据类型
        getContentResolver().insert(dataUri, contentValues);

        //5.添加邮箱
        contentValues.clear();
        contentValues.put("raw_contact_id", newId);//联系人id
        contentValues.put("data1", "15320341234");//数据
        contentValues.put("mimetype", "vnd.android.cursor.item/phone_v2");//数据类型
        getContentResolver().insert(dataUri, contentValues);

        Toast.makeText(this, "添加联系人成功,请查看!", Toast.LENGTH_LONG).show();
    }

 

posted @ 2013-11-16 11:19  无忧之路  阅读(1855)  评论(1编辑  收藏  举报
无忧之路