gpt4 book ai didi

java - 如何将联系人添加到群组 android

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:05:01 25 4
gpt4 key购买 nike

我有以下代码将联系人添加到 android 的联系人应用程序/人脉应用程序中,它确实添加了组而不是该组中的联系人,我缺少什么?我成功添加了联系人并创建了群组,我确实得到了这两个东西的 ID,我正在使用以下代码将联系人与群组相关联,但它不起作用,群组始终为空。

 public Uri addToGroup(long personId, long groupId) {

ContentValues values = new ContentValues();
values.put(ContactsContract.CommonDataKinds.GroupMembership.RAW_CONTACT_ID,
personId);
values.put(
ContactsContract.CommonDataKinds.GroupMembership.GROUP_ROW_ID,
groupId);
values
.put(
ContactsContract.CommonDataKinds.GroupMembership.MIMETYPE,
ContactsContract.CommonDataKinds.GroupMembership.CONTENT_ITEM_TYPE);

return this.getActivity().getContentResolver().insert(
ContactsContract.Data.CONTENT_URI, values);

}

*****更新*****我发现的另一件事是我创建的这个组没有与谷歌同步,可能这就是没有添加联系人的原因。

最佳答案

终于可以将联系人添加到组中,这是必需的,创建一个与谷歌帐户同步的联系人(强制),然后创建一个可以同步到默认同步服务的组,然后按照我添加的方式添加联系人以上代码。

如果你想知道如何创建可以同步的组,就在这里

public String createGroup(String name) {

String[] GROUP_PROJECTION = new String[] { ContactsContract.Groups._ID, ContactsContract.Groups.TITLE };

try {
ContentValues groupValues = null;
ContentResolver cr = this.getContentResolver();
groupValues = new ContentValues();
groupValues.put(ContactsContract.Groups.TITLE, name);
groupValues.put(ContactsContract.Groups.SHOULD_SYNC,true);
cr.insert(ContactsContract.Groups.CONTENT_URI, groupValues);

}
catch(Exception e){
Log.d("########### Exception :",""+e.getMessage());
return "1";
}

String groupID = null;
Cursor getGroupID_Cursor = null;
getGroupID_Cursor = this.getContentResolver().query(ContactsContract.Groups.CONTENT_URI, GROUP_PROJECTION, ContactsContract.Groups.TITLE+ "=?", new String[]{name}, null);

getGroupID_Cursor.moveToFirst();
groupID = (getGroupID_Cursor.getString(getGroupID_Cursor.getColumnIndex("_id")));

return groupID;


}

关于java - 如何将联系人添加到群组 android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32327542/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com