【问题标题】:Create Invisible Contacts Group in Android在 Android 中创建隐形联系人组
【发布时间】:2012-01-06 03:13:15
【问题描述】:

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

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

这是我试图创建一个不可见的组:

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());
    }

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

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

【问题讨论】:

  • 我也想知道这个。我怀疑主要问题之一是 GROUP_VISIBLE 是只读字段。你有没有找到其他方法来做到这一点?
  • 您为什么要这样做?为什么不对您不想出现在联系人列表中的内容使用完全独立的数据库?
  • 利用联系人 api 功能,例如聚合。也允许更少的代码。

标签: android contact contactscontract


【解决方案1】:

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

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

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-25
      相关资源
      最近更新 更多