创建的联系人组不可见

时间:2014-06-12 13:42:32

标签: android android-contacts

我使用ContentProvider以编程方式创建了一个联系人组,以下是一段代码 我跟踪了

ArrayList<ContentProviderOperation> ops = new ArrayList<ContentProviderOperation>();
ops.add(ContentProviderOperation
                    .newInsert(ContactsContract.Groups.CONTENT_URI)
                    .withValue(ContactsContract.Groups.TITLE, "saa")
                .withValue(ContactsContract.Groups.GROUP_VISIBLE, 1)
                .withValue(ContactsContract.Groups.DELETED, true)
                .withValue(ContactsContract.Groups.ACCOUNT_NAME, "saa")
                .withValue(ContactsContract.Groups.ACCOUNT_TYPE, "saa").build());

  getContentResolver().applyBatch(ContactsContract.AUTHORITY, ops);

问题是它是创建组,但在People的组列表中不可见。 以及如何删除创建的组

提前致谢

1 个答案:

答案 0 :(得分:0)

这里的代码剪断了我是如何做到的:

public static final String groupName =“some_name”;

packageName = myContext.getPackageName();

/**
 * insert a new group 
 */
public void insertGroup() {

    if (debug)
        Log.i(TAG, "insertGroup() ");

    ContentResolver contentResolver = globalContext.getContentResolver();
    Uri insertResult;

    ContentValues groupValues;
    groupValues = new ContentValues();
    groupValues.put(ContactsContract.Groups.TITLE, groupName);
    groupValues.put(ContactsContract.Groups.GROUP_VISIBLE, 1);
    groupValues.put(ContactsContract.Groups.NOTES, groupName);
    groupValues
            .put(ContactsContract.Groups.ACCOUNT_NAME, Konst.accountName);
    groupValues.put(ContactsContract.Groups.ACCOUNT_TYPE, packageName);
    insertResult = contentResolver.insert(
            ContactsContract.Groups.CONTENT_URI, groupValues);
    if (debug)
        Log.d(TAG, "insertGroup() insertResult: " + insertResult.toString());

}