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();
}
通过长时间的搜索和查看源代码,终于找到了相应的方法。代码如上
分享到:
相关推荐
6. **创建联系人组**:如果你希望将联系人添加到特定的组,你需要先获取或创建该组的ID,然后将其添加到`ContentValues`中,键为`ContactsContract.Groups.ACCOUNT_TYPE`和`ContactsContract.Groups.ACCOUNT_NAME`。...
这个名为"ios-iOS9获取联系人信息.zip"的压缩包文件可能包含了一个关于如何在iOS9中利用新系统的示例代码或教程,帮助开发者学习如何实现这一功能。 首先,我们需要了解iOS9中引入的Contacts框架。这个框架替代了旧...
通过这个API,开发者可以实现诸如读取联系人信息、添加新联系人、更新现有联系人、删除联系人以及管理联系人分组等一系列功能。在"Pro Android学习:联系人API"中,我们将深入探讨这些关键知识点。 首先,Android的...
- 通过联系人的ID,我们可以进一步获取其详细信息,例如电话号码、电子邮件地址等,这需要查询`ContactsContract.CommonDataKinds.Phone`和`ContactsContract.CommonDataKinds.Email`表。 - 如果需要从SIM卡中读取...
这个压缩包文件"安卓开发-Android手机的通讯录联系人信息.zip.zip"很可能包含了关于如何在Android系统中获取、修改和管理联系人数据的相关教程或代码示例。下面将详细介绍Android系统中的通讯录操作相关知识点。 1....
2. **删除指定联系人信息** 3. **查找指定联系人信息** 4. **修改指定联系人信息** 5. **显示所有联系人信息** 6. **清空所有联系人** 7. **按名字排序所有联系人** ### 二、数据结构设计 系统采用结构体(struct)...
在这里,我们使用了`CommonDataKinds.Phone.CONTENT_URI`作为数据的Uri,这会返回所有包含电话号码的联系人。`null`参数表示我们不指定特定的查询条件,`null`后的两个参数分别代表排序方式和分组条件,这里都未设置...
**修改联系人**:同样需要通过查询找到指定的联系人,然后更新对应的信息字段。 **删除联系人**:删除操作较为复杂,因为数组是连续存储的,一旦删除一个元素,后面的元素都需要向前移动一位以填补空位。所以,我们...
7. **修改记录**:找到指定姓名的联系人,获取其索引或位置,然后读取整个文件,将对应行替换为新信息,再写回文件。 8. **按姓名查询**:允许用户输入姓名进行查询,程序遍历文件,对比每一行的姓名字段。若找到...
例如,`ContactsContract.Contacts` 表示联系人信息,`ContactsContract.CommonDataKinds.Phone` 表示联系人的电话号码,`ContactsContract.CommonDataKinds.Email` 表示联系人的电子邮件地址等。 ### 增加联系人 ...
3. 将新联系人添加到链表末尾。 4. 调用文件操作函数将新联系人信息保存到文件中。 #### 四、编码实现 根据上述设计,具体编码实现主要包括以下几个方面: - **添加联系人** (`AddContact`): - 创建新的联系人...
例如,添加联系人时应检查输入的有效性,删除联系人时确认操作,查找无结果时给出提示等。 通讯录的实现是一个综合性的编程任务,涉及到了面向对象编程、数据结构、文件操作、用户交互等多个方面。这个项目对于初学...
7. **联系人属性**:`CNContact`类包含了许多属性,如`givenName`(名)、`familyName`(姓)、`emailAddresses`(电子邮件地址)、`phoneNumbers`(电话号码)等,可以根据需求选择需要获取的属性。 8. **显示联系...
- **del_node函数流程**:用于从通讯录中删除指定联系人信息,主要步骤包括: - 调用`list_find`函数定位到待删除的联系人。 - 如果找到了对应联系人,则释放其占用的内存,并更新线性表的状态。 - 如果没有找到...
ContactsContract类是接触Android联系人系统的入口,它定义了一系列常量和Uri,用于访问联系人、分组和数据项等信息。例如,`ContactsContract.Contacts` Uri用于获取所有联系人,而`ContactsContract....
邮件从发件人的计算机发出后,首先会发送到发件人所在ISP的邮件服务器,之后邮件服务器会查找收件人的邮件服务器地址,然后将邮件转发给收件人的邮件服务器。收件人在收取邮件时,通常是从收件人的邮件服务器上下载...
- **删除数据**:`deleteData()`函数删除指定联系人记录。 - **更新数据**:`updateData()`函数修改已存在的联系人信息。 - **查询数据**:`selectData()`函数根据用户输入查询联系人信息。 - **显示数据**:`...
email-ext允许你指定邮件的默认接收者,也可以按项目或构建配置特定的收件人。你可以使用表达式语言(如${culprits})来动态决定收件人,比如发送给导致构建失败的开发者。 7. **高级特性** email-ext还提供了...
通过宏,可以实现批量邮件的发送、格式化邮件文本、添加附件等操作,尤其适合企业环境中的大规模邮件营销或内部通知场景。 ### 自动发送不同联系人带附件邮件的Outlook宏步骤详解 #### 1. 邮件信息写入Excel 首先...
1. **录入联系人信息**:用户可以通过系统录入联系人的基本信息,这些信息包括但不限于姓名、职位、电话和电子邮件等。为了方便管理和存储,所有的联系人信息将被以链表的形式存放,并且最终保存到文件中。 2. **...