我需要从我的应用程序动态添加新联系人。 我使用AccountManager getAccounts方法列出所有电话帐户,但我获得了天气,股票等帐户。 我怎样才能获得联系人帐户?
答案 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;将帐户设备链接到。