我使用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的组列表中不可见。 以及如何删除创建的组
提前致谢
答案 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());
}