`
tq09931
  • 浏览: 1514332 次
  • 性别: Icon_minigender_1
  • 来自: 天津
社区版块
存档分类
最新评论

关于给指定的联系人添加号码或者email等信息

阅读更多
 Cursor cursor1=baseChangeInsideSpec.getContentResolver().query 
(ContactsContract.RawContacts.CONTENT_URI, null, ContactsContract.RawContacts.CONTACT_ID +"= ?",
new String[]{String.valueOf(id)}, null);   
cursor1.moveToFirst();
rowId=cursor1.getString(cursor1.getColumnIndexOrThrow(ContactsContract.RawContacts._ID));
cursor1.close(); //先得找到添加内容的concat的rowId
//进行插入号码操作
 final ContentResolver resolver = baseChangeInsideSpec.getContentResolver();   
		  final ArrayList<ContentProviderOperation> operationList = new ArrayList<ContentProviderOperation>();   
		  ContentProviderOperation.Builder builder = ContentProviderOperation   
		    .newInsert(RawContacts.CONTENT_URI);   
		  ContentValues values = new ContentValues();   
		  builder.withValues(values);   
		  operationList.add(builder.build());   
		  builder = ContentProviderOperation   
		    .newInsert(android.provider.ContactsContract.Data.CONTENT_URI);
		  builder.withValue(Phone.RAW_CONTACT_ID,rowid);   
		  builder.withValue(Data.MIMETYPE, Phone.CONTENT_ITEM_TYPE);   
		  builder.withValue(Phone.TYPE, Phone.TYPE_OTHER);   
		  builder.withValue(Phone.DATA, number);   
		  operationList.add(builder.build());   
		  try {   
		   resolver.applyBatch(ContactsContract.AUTHORITY, operationList);   
		  } catch (RemoteException e) {   
		   // TODO Auto-generated catch block   
		   e.printStackTrace();   
		  } catch (OperationApplicationException e) {   
		   e.printStackTrace();   
		  }   

 通过长时间的搜索和查看源代码,终于找到了相应的方法。代码如上

分享到:
评论
4 楼 wangweike 2012-06-09  
很好,指出了使用rowId ,而非rawid
3 楼 oldjue 2012-05-03  
这个有用 谢谢
2 楼 shybirdshy 2011-03-15  
1 楼 hm50854319 2011-01-11  

相关推荐

    android添加联系人

    6. **创建联系人组**:如果你希望将联系人添加到特定的组,你需要先获取或创建该组的ID,然后将其添加到`ContentValues`中,键为`ContactsContract.Groups.ACCOUNT_TYPE`和`ContactsContract.Groups.ACCOUNT_NAME`。...

    ios-iOS9获取联系人信息.zip

    这个名为"ios-iOS9获取联系人信息.zip"的压缩包文件可能包含了一个关于如何在iOS9中利用新系统的示例代码或教程,帮助开发者学习如何实现这一功能。 首先,我们需要了解iOS9中引入的Contacts框架。这个框架替代了旧...

    Pro Android学习:联系人API

    通过这个API,开发者可以实现诸如读取联系人信息、添加新联系人、更新现有联系人、删除联系人以及管理联系人分组等一系列功能。在"Pro Android学习:联系人API"中,我们将深入探讨这些关键知识点。 首先,Android的...

    安卓联系人代码

    - 通过联系人的ID,我们可以进一步获取其详细信息,例如电话号码、电子邮件地址等,这需要查询`ContactsContract.CommonDataKinds.Phone`和`ContactsContract.CommonDataKinds.Email`表。 - 如果需要从SIM卡中读取...

    安卓开发-Android手机的通讯录联系人信息.zip.zip

    这个压缩包文件"安卓开发-Android手机的通讯录联系人信息.zip.zip"很可能包含了关于如何在Android系统中获取、修改和管理联系人数据的相关教程或代码示例。下面将详细介绍Android系统中的通讯录操作相关知识点。 1....

    C语言通讯录

    2. **删除指定联系人信息** 3. **查找指定联系人信息** 4. **修改指定联系人信息** 5. **显示所有联系人信息** 6. **清空所有联系人** 7. **按名字排序所有联系人** ### 二、数据结构设计 系统采用结构体(struct)...

    Android 使用获取手机通讯录实现

    在这里,我们使用了`CommonDataKinds.Phone.CONTENT_URI`作为数据的Uri,这会返回所有包含电话号码的联系人。`null`参数表示我们不指定特定的查询条件,`null`后的两个参数分别代表排序方式和分组条件,这里都未设置...

    用数组实现的简易通讯录

    **修改联系人**:同样需要通过查询找到指定的联系人,然后更新对应的信息字段。 **删除联系人**:删除操作较为复杂,因为数组是连续存储的,一旦删除一个元素,后面的元素都需要向前移动一位以填补空位。所以,我们...

    通讯录 C语言 文件

    7. **修改记录**:找到指定姓名的联系人,获取其索引或位置,然后读取整个文件,将对应行替换为新信息,再写回文件。 8. **按姓名查询**:允许用户输入姓名进行查询,程序遍历文件,对比每一行的姓名字段。若找到...

    Android-ContactsContract联系人增删改查

    例如,`ContactsContract.Contacts` 表示联系人信息,`ContactsContract.CommonDataKinds.Phone` 表示联系人的电话号码,`ContactsContract.CommonDataKinds.Email` 表示联系人的电子邮件地址等。 ### 增加联系人 ...

    c语言课程设计 通讯录管理系统

    3. 将新联系人添加到链表末尾。 4. 调用文件操作函数将新联系人信息保存到文件中。 #### 四、编码实现 根据上述设计,具体编码实现主要包括以下几个方面: - **添加联系人** (`AddContact`): - 创建新的联系人...

    通讯录的实现

    例如,添加联系人时应检查输入的有效性,删除联系人时确认操作,查找无结果时给出提示等。 通讯录的实现是一个综合性的编程任务,涉及到了面向对象编程、数据结构、文件操作、用户交互等多个方面。这个项目对于初学...

    iphone 通讯录 demo

    7. **联系人属性**:`CNContact`类包含了许多属性,如`givenName`(名)、`familyName`(姓)、`emailAddresses`(电子邮件地址)、`phoneNumbers`(电话号码)等,可以根据需求选择需要获取的属性。 8. **显示联系...

    通讯录管理

    - **del_node函数流程**:用于从通讯录中删除指定联系人信息,主要步骤包括: - 调用`list_find`函数定位到待删除的联系人。 - 如果找到了对应联系人,则释放其占用的内存,并更新线性表的状态。 - 如果没有找到...

    ContactsDemo

    ContactsContract类是接触Android联系人系统的入口,它定义了一系列常量和Uri,用于访问联系人、分组和数据项等信息。例如,`ContactsContract.Contacts` Uri用于获取所有联系人,而`ContactsContract....

    Email邮件头揭秘

    邮件从发件人的计算机发出后,首先会发送到发件人所在ISP的邮件服务器,之后邮件服务器会查找收件人的邮件服务器地址,然后将邮件转发给收件人的邮件服务器。收件人在收取邮件时,通常是从收件人的邮件服务器上下载...

    个人通讯录管理系统课程设计-C++.docx

    - **删除数据**:`deleteData()`函数删除指定联系人记录。 - **更新数据**:`updateData()`函数修改已存在的联系人信息。 - **查询数据**:`selectData()`函数根据用户输入查询联系人信息。 - **显示数据**:`...

    email-ext hudson配置

    email-ext允许你指定邮件的默认接收者,也可以按项目或构建配置特定的收件人。你可以使用表达式语言(如${culprits})来动态决定收件人,比如发送给导致构建失败的开发者。 7. **高级特性** email-ext还提供了...

    自动发送不同联系人带附件邮件的outlook宏

    通过宏,可以实现批量邮件的发送、格式化邮件文本、添加附件等操作,尤其适合企业环境中的大规模邮件营销或内部通知场景。 ### 自动发送不同联系人带附件邮件的Outlook宏步骤详解 #### 1. 邮件信息写入Excel 首先...

    精品(2021-2022年)资料通讯录管理系统设计报告.docx

    1. **录入联系人信息**:用户可以通过系统录入联系人的基本信息,这些信息包括但不限于姓名、职位、电话和电子邮件等。为了方便管理和存储,所有的联系人信息将被以链表的形式存放,并且最终保存到文件中。 2. **...

Global site tag (gtag.js) - Google Analytics