2013-03-15 100 views
2

我需要创建包含设备上找到的所有电话号码的列表。所以,我做什么,是查询ContactsContract.Data.CONTENT_URI如下:ContactsContract - 我应该显示哪些联系人? (可见群组)

  Uri uri = Data.CONTENT_URI; 
    String[] PROJECTION = new String[] { Data.IN_VISIBLE_GROUP,// 0 
      Data.DISPLAY_NAME, // 1 
      Phone.NUMBER, // 2 
      Phone.TYPE, // 3 
      Phone.LABEL, // 4 
    }; 
    String SELECTION = Data.MIMETYPE + "='" + Phone.CONTENT_ITEM_TYPE 
      + "' AND " + Data.IN_VISIBLE_GROUP + " = 1"; 
    String[] SELECTARGS = null; 
    String SORTORDER = null; 
    Cursor c = getContentResolver().query(uri, PROJECTION, SELECTION, 
      SELECTARGS, SORTORDER); 

当我运行我的Nexus 4的代码,无论显示选项我的联系人应用(默认的联系人管理器)设置,光标总是充满相同的联系人。不应该根据该设置更改Data.IN_VISIBLE_GROUP的值吗?我错过了什么吗?

回答

3

访问文档ContactsContract.Data变量IN_VISIBLE_GROUP

INT IN_VISIBLE_GROUP只读见ContactsContract.Contacts。

的这种接触是否应该是在 UI可见的指标:

ContactsContract.Contacts和寻找IN_VISIBLE_GROUP作为解释。如果联系人至少有一个属于可见组的 原始联系人,则为“1”;否则为“0”。

因此,Data.IN_VISIBLE_GROUP似乎与人的应用可见性状态有关。


在当你点击它,你移动here另一方面,其中提到:

标志反映任何 ContactsContract.CommonDataKinds.GroupMembership此联系人的GROUP_VISIBLE状态。 常数值:“in_visible_group”

GROUP_VISIBLE是指:

标志指示是否属于该组触点应该在任何用户界面 可见。

类型:整型(布尔)恒值:“group_visible”

考虑到去年2个报价如你预期它应有的功能!

+0

是不是IN_VISIBLE_GROUP反映GROUP_VISIBLE? – 2015-03-19 15:29:51

相关问题