插入联系人到通讯录

/**
    * 1. 查询raw_contacts表的contact_id获取最大的联系人id
      2. 给查询出来的联系人id加1插入联系的id
      3. 给data表插入联系人的数据
    */
   public void insert(View v){
      //查询raw_contacts表里的content_id有多少个联系人
      ContentResolver resolver = getContentResolver();
      Uri rawUri = Uri.parse("content://com.android.contacts/raw_contacts/");
      Cursor cursor = resolver.query(rawUri, new String[]{"_id"}, null, null, null);
      //获取最大的联系人id
      boolean last = cursor.moveToLast();
      int id= 0;//联系人id,默认没有数据
      if (last) {
         id = cursor.getInt(0);
      }
      id++;
      //插入联系的id
      ContentValues values = new ContentValues();
      values.put("contact_id", id);
      resolver.insert(rawUri, values);    
      //给data表插入联系人的数据
      Uri dataUri = Uri.parse("content://com.android.contacts/data/");   
      //插入姓名
      values.clear();
      values.put("data1", "狗蛋");
      values.put("raw_contact_id", id);
      values.put("mimetype", "vnd.android.cursor.item/name");
      resolver.insert(dataUri, values);   
      //插入手机号码
      values.clear();
      values.put("data1", "13212345678");
      values.put("raw_contact_id", id);
      values.put("mimetype", "vnd.android.cursor.item/phone_v2");
      resolver.insert(dataUri, values);
      //插入邮箱
      values.clear();
      values.put("data1", "dandan@qq.com");
      values.put("raw_contact_id", id);
      values.put("mimetype", "vnd.android.cursor.item/email_v2");
      resolver.insert(dataUri, values);
   }
}

 

posted on 2017-02-20 19:54  LoaderMan  阅读(244)  评论(0编辑  收藏  举报

导航