按联系人姓名将联系人添加到群组
Adding contact to a group by contact name
我正在使用 raw_contact_id 使用此方法
成功将联系人添加到群组
public static Uri addContactToGroup(String rawContactId,String groupId)
{
try
{
ContentValues values = new ContentValues();
values.put(Data.RAW_CONTACT_ID, rawContactId);
values.put(GroupMembership.GROUP_ROW_ID, groupId);
values.put(Data.MIMETYPE, GroupMembership.CONTENT_ITEM_TYPE);
return getContentResolver().insert(Data.CONTENT_URI, values);
}
catch (Exception e)
{}
return Uri.EMPTY;
}
但是我想用这个名字添加一个联系人。我尝试了一些更改但没有工作。请帮忙谢谢!
简单,只需查询该名称的所有 RawContact,然后使用您的代码将它们添加到组中:
public void addToGroupByName(String name, long groupId) {
String[] projection = new String[] { Data.RAW_CONTACT_ID };
String selection = "(" + Data.MIMETYPE + "=?) AND (" + StructuredName.DISPLAY_NAME + "=?";
String[] selectionArgs = new String[] { StructuredName.CONTENT_ITEM_TYPE, name };
Cursor cur = contentResolver.query(Data.CONTENT_URI, projection, selection, null, null);
while (cur != null && cur.moveToNext()) {
long rawId = cur.getLong(0);
addContactToGroup(rawId, groupId);
}
if (cur != null) {
cur.close();
}
}
备注:
- RawContact ID 很长,不是字符串
- 群组ID也很长
- 由于姓名不是唯一标识符,并且用户可能有多个同名联系人,此代码可能会产生意想不到的后果,因此请确保您知道自己在做什么
我正在使用 raw_contact_id 使用此方法
成功将联系人添加到群组public static Uri addContactToGroup(String rawContactId,String groupId)
{
try
{
ContentValues values = new ContentValues();
values.put(Data.RAW_CONTACT_ID, rawContactId);
values.put(GroupMembership.GROUP_ROW_ID, groupId);
values.put(Data.MIMETYPE, GroupMembership.CONTENT_ITEM_TYPE);
return getContentResolver().insert(Data.CONTENT_URI, values);
}
catch (Exception e)
{}
return Uri.EMPTY;
}
但是我想用这个名字添加一个联系人。我尝试了一些更改但没有工作。请帮忙谢谢!
简单,只需查询该名称的所有 RawContact,然后使用您的代码将它们添加到组中:
public void addToGroupByName(String name, long groupId) {
String[] projection = new String[] { Data.RAW_CONTACT_ID };
String selection = "(" + Data.MIMETYPE + "=?) AND (" + StructuredName.DISPLAY_NAME + "=?";
String[] selectionArgs = new String[] { StructuredName.CONTENT_ITEM_TYPE, name };
Cursor cur = contentResolver.query(Data.CONTENT_URI, projection, selection, null, null);
while (cur != null && cur.moveToNext()) {
long rawId = cur.getLong(0);
addContactToGroup(rawId, groupId);
}
if (cur != null) {
cur.close();
}
}
备注:
- RawContact ID 很长,不是字符串
- 群组ID也很长
- 由于姓名不是唯一标识符,并且用户可能有多个同名联系人,此代码可能会产生意想不到的后果,因此请确保您知道自己在做什么