gpt4 book ai didi

android - 使用 Android SDK 在联系人中获取地址

转载 作者:行者123 更新时间:2023-11-29 14:22:22 24 4
gpt4 key购买 nike

我正在尝试从 android 联系人列表中检索联系人的姓名、电话号码和地址。姓名和电话非常简单,但地址似乎无法通过 1.6 api 级别访问。

有人知道如何获取联系人的地址吗? 2.0 中还有一个全新的 api。我如何利用这一点并通过使用 1 个二进制文件回退到旧的 api。如果可能的话。

最佳答案

在 Android 2.0 之前,您需要查询 Contacts.ContactMethods.CONTENT_URI 以获取您需要传递的邮政地址

Contacts.ContactMethods.PERSON_ID + "=? and " + Contacts.ContactMethods.KIND + "=?"

对于选择和 selectArgs 参数:

new String[] { personId, Integer.toString(Contacts.KIND_POSTAL) }

从 2.0 开始,您可以使用新的 ContactsContract,它要复杂得多,因为联系人现在可以跨多个来源聚合信息。关于新 API 的一些不错的群组帖子是 herehere .

从同一个二进制文件定位多个平台 API 的推荐方法是使用反射(参见 blog post)。我发现,如果您在 list 中将您的应用程序定位在 1.6 或更低版本,但设置构建路径以获取 Android 2.0 jar 文件,您可以调用 2.0 apis 而无需反射。您只需要非常小心,不要将依赖于 2.0 类的类加载到 1.6 设备中,否则类加载器将抛出异常。为避免这种情况,您需要使用某种工厂来打破依赖关系(或像 Guice 这样的 DI 框架)。看这个posting进一步讨论。

关于android - 使用 Android SDK 在联系人中获取地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1856270/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com