Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/217.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 联系人组组“”可见,组“”仅被忽略?_Java_Android_Android Contacts_Contactscontract - Fatal编程技术网

Java 联系人组组“”可见,组“”仅被忽略?

Java 联系人组组“”可见,组“”仅被忽略?,java,android,android-contacts,contactscontract,Java,Android,Android Contacts,Contactscontract,有人能解释一下为什么在创建我的组时忽略此参数GROUP_是只读的(设置为0)和GROUP_VISIBLE(设置为false) 我仍然可以在其中看到组和联系人,也可以删除/修改其中的组和联系人 编辑 以下是我创建组的方式: ArrayList<ContentProviderOperation> ops = new ArrayList<>(); ops.add(ContentProviderOperation.newInsert(Groups.CONTENT_URI)

有人能解释一下为什么在创建我的组时忽略此参数GROUP_是只读的(设置为0)和GROUP_VISIBLE(设置为false)

我仍然可以在其中看到组和联系人,也可以删除/修改其中的组和联系人

编辑

以下是我创建组的方式:

ArrayList<ContentProviderOperation> ops = new ArrayList<>();

ops.add(ContentProviderOperation.newInsert(Groups.CONTENT_URI)
                    .withValue(Groups.TITLE, groupName)
                    .withValue(Groups.ACCOUNT_NAME, accountName)
                    .withValue(Groups.ACCOUNT_TYPE, AccountGeneral.ACCOUNT_TYPE)
                    .withValue(Groups.GROUP_VISIBLE, false)
                    .withValue(Groups.GROUP_IS_READ_ONLY, 1)
                    .build());

mContentResolver.applyBatch(ContactsContract.AUTHORITY, ops);
ArrayList ops=new ArrayList();
添加(ContentProviderOperation.newInsert(Groups.CONTENT\u URI)
.withValue(Groups.TITLE、groupName)
.withValue(组.帐户名称,帐户名称)
.withValue(Group.ACCOUNT\u类型、AccountGeneral.ACCOUNT\u类型)
.withValue(Groups.GROUP\u可见,false)
.withValue(Groups.GROUP\u为只读,1)
.build());
mContentResolver.applyBatch(contacts contract.AUTHORITY,ops);
这就是官方开发者android页面所说的:

组\u可见-指示属于此组的联系人是否应在任何用户界面中可见的标志

组是只读的“只读”标志:“0”在默认情况下,“1”如果该行不能修改或删除,除非通过同步适配器。请参阅contacts contract.CALLER\u IS\u SYNCADAPTER


谢谢

因此,要从评论部分继续,答案是您的输入值是正确的,并且按照请求保持不变

但是,Contacts应用程序(或任何其他读取Contacts的应用程序)可以忽略GROUP_VISIBLE处的值,并显示手机上的所有联系人。 通常,应用程序为用户提供一些过滤功能,因此用户可以选择只查看可见组中的联系人、手机上的所有联系人还是特定组中的联系人


如果您使用所选内容查询联系人,则不应在光标响应中获取在您的组下创建的联系人。

请共享您用于创建联系人组的代码。我编辑了我的帖子,以便您可以查看我的代码。如果您稍后查询组表以获取您的组信息,您是否看到
GROUP\u是只读的
GROUP\u可见的
的值有误?浏览contacts2.db数据库,我可以在“groups”表中看到我的组,其中“GROUP\u VISIBLE”设置为0,“GROUP\u IS\u READ\u ONLY”设置为1Ok,谢谢。现在我明白了,我不能强迫联系人和团体隐身。关于GROUP_IS_READ_flag呢?我相信READ_ONLY模式适用于Groups表中的组行,而不适用于在该组中创建的联系人,但我可能错了。