Android联系人帐户

时间:2012-02-20 18:11:39

标签: android contacts

我需要从我的应用程序动态添加新联系人。 我使用AccountManager getAccounts方法列出所有电话帐户,但我获得了天气,股票等帐户。 我怎样才能获得联系人帐户?

2 个答案:

答案 0 :(得分:0)

使用API​​实际上没有办法做到这一点,我们发现最准确的方法是倒退:哪些帐户用于存储联系人?

它有点粗糙,但它提供了非常好的结果(缓存列表,你不需要每次都这样做。)

// Pseudo-code
for contact in RawContacts
    uniqueAccountTypes.put(contact.account)
for accountType in uniqueAccountTypes
    uniqueAccountsWithContacts.putAll(accountManager.getAccountsByType(accountType))

我现在无法访问联系人数据库的副本,因此上面的代码可能略有偏差,但概念应该是明确的。如果我要进一步澄清,请告诉我。

答案 1 :(得分:0)

有类似的情况。

经过一番搜索后发现了AccountManager的这种方法:

getAccountsByTypeAndFeatures();

此处如果您将参数功能设置为" service_mail" ," service_talk"等等,您将获得支持电子邮件和聊天的帐户,因此这些帐户也将支持联系人。

<强>更新

&#34; service_ah&#34;将帐户设备链接到。