14

我想要的是从联系人列表中隐藏联系人。所以为了实现这一点,我尝试了很多并搜索了很多。最后我知道我们可以生成一个不可见的组,我们可以将联系人分配给该组,以便联系人将是不可见的。

我试过了,但没有成功。即使我设置了s 的GROUP_VISIBLE字段ContactsContact.Group,我也无法使我的组不可见。

这是我试图创建一个隐形组:

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

    ops.add(ContentProviderOperation
            .newInsert(ContactsContract.Groups.CONTENT_URI)
            .withValue(ContactsContract.Groups.GROUP_VISIBLE, 0)
            .withValue(ContactsContract.Groups.TITLE, "InViGroup").build());
    try {

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

    } catch (Exception e) {
        Log.e("Error", e.toString());
    }

我可以将联系人添加到此组,但联系人在电话簿或联系人列表中可见。

我的主要目标是从联系人列表中隐藏联系人。有任何想法吗?如何使我选择的联系人不可见?

4

2 回答 2

6

Maurycy,我玩了很多次让它隐形。即使我能够使用 GROUP_VISIBLE 创建一个组来设置 true 和 false 。但是无论我设置是真是假,我添加的联系人仍然对联系人应用程序可见,所以最后我创建了自己的联系人数据库,在我自己的应用程序中维护。

这比仅仅创建不可见的组和联系人更困难,因为您必须维护与联系人应用程序数据库相关的每个字段和表。因此,如果您找到使其不可见的方法,请告诉我。

尽管如此,如果您想要像没有人可以访问或通过代码使其可见的安全性,那么我认为您应该创建自己的数据库方法,这是我选择的最后一个选项。

于 2011-12-14T10:55:56.193 回答
0

我在这里发现了一个问题,询问它的人有一个代码来添加似乎使他们不可见的联系人: Contact API storage contact as an invisible contact: How to make it visible?

于 2011-12-20T09:49:46.240 回答