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

Android 向系统添加一个联系人信息contact的更多相关文章

  1. 如何在Android Studio中添加注释模板信息?

    如何在Android Studio中添加注释模板信息? 在开发程序的时候,我们一般都会给文件自动添加上一些关于文件的注释信息,比如开发者的名字,开发的时间,开发者的联系方式等等.那么在android ...

  2. 系统---添加一个相机的IP实现opencv读取rstp视频流

    系统---添加一个相机的IP实现opencv读取视频流 这里: 第一步,添加一个6段的相机IP地址:先ping 一个IP地址,ping通的是再用的IP,不可添加:ping不通的,添加IP到网络. 第二 ...

  3. App 冷启动:给 Android 的 Activity 添加一个背景

    2016/8/8 11:11:18 # 纠错 之前写的这篇内容的知识点有误,给大家造成了误导,深感抱歉. android 中给 Activity 设置背景的方法是在 style 文件中设置 windo ...

  4. Android - 分享内容 - 添加一个简单的分享操作

    在ActionBar上使用ActionProvider实现一个高效的友好的分享操作在Android 4.0(API等级14)上更容易了.一个ActionProvider,一旦附加到action bar ...

  5. Android给ListView添加一个入场动画

    动画是一个App体现良好交互的一种手段,通常的我们会看到很多App的ListView的Item都有一个入场动画例如: 可以看到,当进入界面加载ListView的Item的时候有一个向左滑动显示,并且淡 ...

  6. android通过查询电话号码获取联系人信息

    // 取得Intent中的頭像 ivShowImage = (ImageView) findViewById(R.id.call_log_detail_contact_img); //通话电话号码获取 ...

  7. Android(java)学习笔记250:ContentProvider使用之获得系统联系人信息02(掌握)

    1.重要: 系统删除一个联系人,默认情况下并不是把这个联系人直接删除掉了,只是做了一个标记,标记为被删除. 2.前面一讲说过了如何获取系统联系人信息(通过ContentProvider),获取联系人信 ...

  8. Android(java)学习笔记194:ContentProvider使用之获得系统联系人信息02(掌握)

    1.重要: 系统删除一个联系人,默认情况下并不是把这个联系人直接删除掉了,只是做了一个标记,标记为被删除. 2.前面一讲说过了如何获取系统联系人信息(通过ContentProvider),获取联系人信 ...

  9. 【实用篇】获取Android通讯录中联系人信息

    第一步,在Main.xml布局文件中声明一个Button控件,布局文件代码如下: <LinearLayout xmlns:android="http://schemas.android ...

随机推荐

  1. C#后台验证身份证号码的一个方法

    简单的调用了正则表达式进行简单的验证,记下来留着以后备用 if ((!Regex.IsMatch(txtID.Text, @"^(^\d{15}$|^\d{18}$|^\d{17}(\d|X ...

  2. C# Callback 回调实用讲解 [原创]

    这个是2011年写的一个技术贴,现在看可能有点过时了,有兴趣的朋友也可以看一下. 一. 描述 在开发winform程序时不会考虑页面刷新问题,只要控制好线程别导致假死就ok了,但是在开发web页面程序 ...

  3. C# 类是怎么执行的?

    C# 类是怎么执行的? public class Person{ static person(){} //不写,默认也有个空的 public person(){}//不写,默认也有个空的 public ...

  4. 用Android-X86和VirtualBox打造高性能Android开发环境

    不知道有多少Android开发着对Android虚拟机的那悲剧的性能有意见,反正我的看法是:那速度实在是太坑爹了! 为什么Android虚拟机比iOS和WP7的虚拟机要慢很多呢?原因如下: 1. An ...

  5. 网站部署后,ie不能显示本地的图片

    html:<div id="imgPreview"  style='width:144px; height:80px;'>                        ...

  6. fastjson的坑 com.alibaba.fastjson.JSONObject cannot be cast to xxx

    解析json对象时,使用了new TypeReference()对象 fastjson会对解析的对象类型进行缓存   new TypeReference<ResultData>(){}   ...

  7. java web 文件上传下载

    文件上传下载案例: 首先是此案例工程的目录结构:

  8. nodejs-日常练习记录-使用express搭建static服务器.

    cd C:\wxg\test\node_demo\myapp nvmw use 0.12.1 node static.js var express = require('express'); var ...

  9. 初学c++

    今天在计蒜客中学习了c++的语句编写方法.因为之前编程时候用的都是c,所以第一次看到c++的部分代码还是有点迷茫忙的. 初次接触c++,我学习到了c++中变量的定义以及输入输出. 代码如下: #inc ...

  10. localstorage 使用

    localstorage作为HTML5的一个特殊属性,在发布时就备受关注:最近总结了其一些小的用法,希望可以抛砖引玉. 因HTML5本地存储只能存字符串,所以所有数据存储的话,都要转化成字符串:而js ...