使用ContentProvider管理联系人------添加联系人

add.setOnClickListener(new OnClickListener() {

  @Override
  public void onClick(View v) {
    // 获取程序界面中的三个文本框
    String name = ((EditText)findViewById(R.id.name)).getText().toString();
    String phone = ((EditText)findViewById(R.id.phone)).getText().toString();
    String email = ((EditText)findViewById(R.id.email)).getText().toString();
    //创建一个空的ContentValues
    ContentValues values = new ContentValues();
    //向RawContacts.CONTENT_URI执行一个控制插入
    //目的是获取系统返回的rawContactId
    Uri rawContactUri = getContentResolver().insert(RawContacts.CONTENT_URI, values);
    long rawContactId = ContentUris.parseId(rawContactUri);
    values.clear();
    values.put(Data.RAW_CONTACT_ID, rawContactId);
    //设置内容类型
    values.put(Data.MIMETYPE, StructuredName.CONTENT_ITEM_TYPE);
    //设置联系人名字
    values.put(StructuredName.GIVEN_NAME,name);
    //向联系人Uri添加联系人名字
    getContentResolver().insert(
        android.provider.ContactsContract.Data.CONTENT_URI, values);
    values.clear();
    values.put(Data.RAW_CONTACT_ID, rawContactId);
    values.put(Data.MIMETYPE, Phone.CONTENT_ITEM_TYPE);
    //设置联系人的电话号码
    values.put(Phone.NUMBER, phone);
    //设置电话类型
    values.put(Phone.TYPE, Phone.TYPE_MOBILE);
    //向联系人电话号码Uri添加电话号码
    getContentResolver().insert(
        android.provider.ContactsContract.Data.CONTENT_URI, values);
    values.clear();
    values.put(Data.RAW_CONTACT_ID,rawContactId);
    values.put(Data.MIMETYPE, Email.CONTENT_ITEM_TYPE);
    //设置联系人的E_mail地址
    values.put(Email.DATA, email);
    //设置该电子邮件的类型
    values.put(Email.TYPE, Email.TYPE_WORK);
    //向联系人E_mail Uri添加E-mail数据
    getContentResolver().insert(
        android.provider.ContactsContract.Data.CONTENT_URI, values);
    Toast.makeText(MainActivity.this, "联系人数据添加成功", 8000).show();
  }
});

时间: 2024-10-21 00:43:36

使用ContentProvider管理联系人------添加联系人的相关文章

iOS-----使用AddressBook添加联系人

使用AddressBook添加联系人 添加联系人的步骤如下: 1 创建ABAddressBookRef,这就得到了对地址簿的引用. 2 调用ABPersonCreate()函数创建一个空的ABRecordRef,得到一条空的联系人记录 3 根据需要为ABRecordRef设置属性值. 只设置姓氏.名字等简单信息,则直接调用ABRecordSetValue()函数为ABRecordRef的指定属性设置属性值即可. 设置电话号码.电子邮件等可以指定label的属性,需要先创建一个ABMutableM

Android(java)学习笔记251:ContentProvider使用之添加数据到联系人

1.添加联系人逻辑思路 (1)首先在raw_contacts创建一个新的id (2)在data表里面添加这个id对应的数据 2.下面通过一个案例,说明一下如何添加一条数据到联系人: (1)首先我们关注一下布局文件,activity_main.xml,如下: 1 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 2 xmlns:tools="http://schemas.a

ContentProvider往通讯录添加联系人和获取联系人

在Android中,可以使用ContentResolver对通信录中的数据进行添加.删除.修改和查询操作. 在对联系人进行操作时需加入以下两个权限 <!-- 添加操作联系人的权限 --><uses-permission android:name="android.permission.READ_CONTACTS" /><uses-permission android:name="android.permission.WRITE_CONTACTS&

android批量添加联系人

研究生期间就没写过Java代码了,这几天由于想做一个统计网页词频的工具,但是使用C++不是很方便,于是又用Java做了一个小工具.翻开电脑中以前的文件,发现之前还做过一个android中批量添加联系人的工具,瞬间感觉好亲切,也感叹时间过得好快,一眨眼研究生就快要过完了. 记得当初做这个批量添加联系人的工具是刚来读研时,一大堆新同学的手机号码需要添加,班长整理出来同学们的通讯录后就得一个一个输入联系人和号码到手机中,想想这罪可有的受,于是就想能不能让手机直接读取xls格式(Excel格式)的文件到

Android批量添加联系人到通讯录

由于工作上的需要,把数据库中备份的联系人添加到通讯录,一般都有几百条记录,插入一条数据系统默认commit一次,这样效率就降低了,如果把所有的数据都添加进去后再commit效率就不一样,这就需要事务 没有添加事务的方法,每次添加一条记录 /** * 单条添加数据 * * @param contacts * @return */ public boolean add(Tb_contacts contacts) { SQLiteDatabase db = helper.getWritableData

Android通讯录管理一之联系人获取

正如我们知道的一样,Android的通讯录和短信管理是通过contentprovider来向开发者来开发接口的.必须从ContentResolver入手去解决.其中通讯录操作涉及到系统源码api的使用,特别是在表的uri上面容易弄混.在接下来的几篇文章中蜗牛将陆续为大家推出Android通讯管理相关知识的文章.其中包括联系人获取.通话记录获取.短信获取.短信详情获取发送短信.废话不多说先上图 先看看联系人的表的结构 其中对于开发这来说主要关注以上三个表,其中要用到联合查询,关于三张表的设计可以百

为 Exchange 2010 用户添加联系人头像

一.修改AD架构 为了给联系人添加头像,实际是让联系人头像缩略图能够显示在全局地址列表 GAL 中,需要让其在全局编录(GC)中进行复制,默认情况下,对象的“thumbnailphoto”属性值不会在 GC 中进行复制,通过修改 AD 架构可以实现这一个功能. 在以管理员身份打开cmd,并执行 Regsvr32 schmmgmt.dll 注册AD架构管理单元 打开 MMC 控制台,添加 AD 架构管理单元 在活动目录架构管理单元中展开“属性”节点,定位到“thumbnailPhoto” . 打开

Lync Server 2010批量添加联系人并同步联系人

最近一直帮助朋友整理Lync Server 2010,总是听他抱怨说微软的Lync不能实现组织结构等方面的联系人列表,其实也不完全没办法实现,早在OCS的年代,OCS利用Restkit tool工具进行添加联系人列表,而到了Lync的时代虽然Restkit Tool工具还在,但是已然无法利用之前的方式进行批量添加联系人了,在网上有人表示利用LyncAddContacts.vbs这个工具进行批量添加,但是所有的文章只是把国外这个作者的写的东西照抄过来并且翻译一下就成为原创发布到网络上,本人觉得现在

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

公司项目有访问通讯录的需求,所以开始了探索之路.从开始的一无所知,到知识的渐渐清晰.这一切要感谢广大无私分享的 “coder”,注:我是尊称的语气! 苹果提供了访问系统通讯录的框架,以便开发者对系统通讯录进行操作.(此demo为纯代码),想要访问通讯录,需要添加AddressBookUI.framework和AddressBook.framework两个框架,添加的地点这里就不在赘述了.在控制器内部首先import两个头文件,<AddressBook/AddressBook.h> 和 <