对应着读联系人,把数据写进去,市场上的社交类应用经常会有这样的功能

  1. 向raw_contacts表中添加一个id
  2. 向data表里面添加对应的数据

获取ContentResolver对象,通过getContentResolver()方法

调用ContentResolver对象的query()方法,查询raw_contacts表,得到Cursor对象

调用Cursor对象的moveToLast()方法,游标移动到最后一行

获取到最后一行记录的contact_id,新的id就是它加上1

调用ContentResolver对象的insert(uri,values)方法,参数:values是ContentValues对象把新的id put()进去

获取到ContentResolver对象后调用insert(uri,values)方法,参数:Uri应该是data表的Uri规则,ContentValues对象的,put(key,value),”raw_contact_id”=>上面的id,”mimetype”=>”vnd.android.cursor.item/phone_v2”,”data1”=>”电话号码”

然后添加姓名,和上面一样只不过在ContentValues对象里面,

Put “mimietype”=>”vnd.android.cursor.item/name”键值对

    public void writeContacts(View v){
ContentResolver resolver=getContentResolver();
Uri uri=Uri.parse("content://com.android.contacts/raw_contacts");
Uri dataUri=Uri.parse("content://com.android.contacts/data");
//查出最后一个id
Cursor cursor=resolver.query(uri, new String[]{"_id"}, null, null, null);
cursor.moveToLast();
int lastId=cursor.getInt(0);
int newId=lastId+1;
//插入一个联系人id
ContentValues values=new ContentValues();
values.put("contact_id", newId);
resolver.insert(uri, values);
//插入电话数据
ContentValues dataValues=new ContentValues();
dataValues.put("raw_contact_id", newId);
dataValues.put("mimetype", "vnd.android.cursor.item/phone_v2");
dataValues.put("data1", "110");
resolver.insert(dataUri, dataValues);
//插入姓名数据
ContentValues data1Values=new ContentValues();
data1Values.put("raw_contact_id", newId);
data1Values.put("mimetype", "vnd.android.cursor.item/name");
data1Values.put("data1", "police1");
resolver.insert(dataUri, data1Values); Toast.makeText(this, "写联系人成功", 0).show();
}

[android] 保存联系人到系统通讯录的更多相关文章

  1. 如何保存联系人到系统通讯录(android)

    1 效果演示: 2 代码演示:

  2. Android 保存联系人,包括部门\职位\传真\地址\照片

    private void toSaveContactInfo() { ContentValues values = new ContentValues(); // 首先向RawContacts.CON ...

  3. iOS开发--系统通讯录的访问与添加联系人

    公司项目有访问通讯录的需求,所以开始了探索之路.从开始的一无所知,到知识的渐渐清晰.这一切要感谢广大无私分享的 “coder”,注:我是尊称的语气! 苹果提供了访问系统通讯录的框架,以便开发者对系统通 ...

  4. Android项目--获取系统通讯录列表

    ----------------- 通讯录列表 ----------------- 按常理来说,获取系统通讯录列表,无非就是将通讯录的数据库打开获取数据,适配,添加即可. Cursor cursor; ...

  5. Android项目--浅析系统通讯录中的那些方法

    系统通讯录,以前的版本虽然过时了,不过有些东西还是可以用. 1.开启系统联系人添加 /** 添加联系人 */ Intent intent = new Intent(Intent.ACTION_INSE ...

  6. android读取通讯录和使用系统通讯录

    第一步:注册权限 <uses-permission android:name="android.permission.WRITE_CONTACTS" /> <us ...

  7. 向Android模拟器中批量导入通讯录联系人

    使用adb命令向Android模拟器中批量导入通讯录联系人的方法: 使用adb提供的命令, 可以非常方便地从PC中将通讯录批量导入android模拟器中. 首先要先准备好固定格式的vcf文件, 该文件 ...

  8. 【转】Android 增,删,改,查 通讯录中的联系人

    一.权限 操作通讯录必须在AndroidManifest.xml中先添加2个权限, <uses-permission android:name="android.permission. ...

  9. Android 增,删,改,查 通讯录中的联系人

    一.权限 操作通讯录必须在AndroidManifest.xml中先添加2个权限, <uses-permission android:name="android.permission. ...

随机推荐

  1. Hadoop 和 MPP 的比较

    如果我们回顾5年前会发现,那就是当时Hadoop不是大多数公司的选择,特别是那些要求稳定和成熟的平台的企业. 在这一刻,选择非常简单:当您的分析数据库的大小超过5-7 TB时,您只需启动MPP迁移项目 ...

  2. 【腾讯Bugly干货分享】舞动的表情包——浅析GIF格式图片的存储和压缩

    本文来自于腾讯Bugly公众号(weixinBugly),未经作者同意,请勿转载,原文地址:https://mp.weixin.qq.com/s/v0pffOhjFWnVbU2lXjuEmw 导语 G ...

  3. Dubbo 源码分析 - SPI 机制

    1.简介 SPI 全称为 Service Provider Interface,是 Java 提供的一种服务发现机制.SPI 的本质是将接口实现类的全限定名配置在文件中,并由服务加载器读取配置文件,加 ...

  4. iis发布后模板字体不能加载的解决方案

    在使用ace模板的过程中就曾遇到过图标不显示的情况, 1.在iis和vs运行都不能显示图标,添加缺失的字体库后可以访问 2.把项目签入到阿里云时再一次失效,解决方法是添加Mime类型 .woff  a ...

  5. Java面试题精选,大型网站系统架构你不得不懂的10个问题

    作者:JavaGuide(公众号) 下面这些问题都是一线大厂的真实面试问题,不论是对你面试还是说拓宽知识面都很有帮助.之前发过一篇8 张图读懂大型网站技术架构 可以作为不太了解大型网站系统技术架构朋友 ...

  6. pycharm激活方式

    进入C:\Windows\System32\drivers\etc替换host文件,或者在host文件后加入0.0.0.0 account.jetbrains.com然后断网,断网,断网!最后输入K7 ...

  7. 四、activiti工作流-第一个HelloWorld

    上一节已经把流程图画好,并且数据库也已经创建好了25张表,这节讲如何启动一个流程 先新建一个包,并新建一个类. /**然后定义一个成员属性,主要是因为每个方法都要用到这个引擎 * 获取默认流程引擎实例 ...

  8. JSTL 和 EL

    EL表达式   Expression Language 语法${作用域中的值} 使用EL表达式时,需要在page标签中写上isELIgnored="false",否则EL表达式不生 ...

  9. JavaScript中的注释问题详解? 部分3

    注释:解释代码的含义,浏览器中不执行. 方便其他程序员了解代码 ,也可以注释自己不需要的代码(开发过程中)! 1. 单行注释 // 用于一行代码上面 2.多行注释 /* */ 用于一段代码上面 或者是 ...

  10. js中select标签中的option选择

    f1 = function () { //var selected_val = document.getElementById(test).value; var obj = document.getE ...