我目前正在开发一款访问Conatacts
并在ListFragment
上展示的Android应用。因此,我使用的是自定义CursorAdapter
和LoaderManager
。这完全没问题。
但是,如果Android与Google帐户同步,则所有Google的“其他联系人”都显示在我的ListFragment
中。对于这些“其他联系人”,您已回复或撰写了一封电子邮件,但您从未将其添加到Google的“我的联系人”中。您之前从未见过它们的原因是,只要您没有专门搜索它们,它们就不会在Android的地址簿中显示。
经过一些研究后,我意识到Google的“其他联系人”与Google的“我的联系人”相比缺少Contacts.IN_VISIBLE_GROUP
标志。所以我只是在我的CursorLoader(Contacts.IS_VISIBLE_GROUP + " = '1'"
)中添加了一个选项,并意识到我的ListFragment
中缺少存储在手机或SIM卡上的所有联系人条目,因为它们也缺少Contacts.IN_VISIBLE_GROUP
} flag。
现在变得棘手了。 RawContacts.CONTENT_TYPE
保存信息,无论是存储在手机(vnd.sec.contact.phone),sim(vnd.sec.contacts.sim)还是来自Google帐户(vnd.google)。无论如何,无法创建同时使用信息Contacts.IN_VISIBLE_GROUP
和RawContacts.CONTENT_TYPE
的查询。
我在这里遗漏了什么吗?必须有一种方法,因为它是在Android的地址簿上实现的。