如何同时使用 Android 1.x 和 2.x 的联系人 API?

2023-12-13

Mi 的问题是我需要在 android 1.5、1.6 和 2.x 的应用程序中实现联系人列表。

我用旧的做的ContactsAPI,不是联系方式合同因为向后兼容 1.x 系列。但是当在 2.x 上显示我的应用程序时,联系人列表不完整。在某些设备中,它显示为空,而在某些设备中,它仅显示设备中的部分联系人。

我知道使用Contacts2.x 系列上的 API 只会显示主帐户联系人,但事实并非如此。看起来只显示最近更新的联系人,但事实也并非如此。

所以问题是:如何正确实现 2.x 和 1.x android 版本的联系人列表?

提前致谢


但是当在 2.x 上显示我的应用程序时 联系人列表不完整。在一些 设备显示为空,并且在 有些设备只显示其中的一部分 设备中的联系人。

正确的。旧的联系人 API 只能访问仅存储在设备上的联系人,而不是通过从其他提供商同步获得的联系人。 Android 2.0 还存在一个错误,您甚至无法获取本地存储的联系人,尽管 Android 2.0.1 IIRC 已修复该错误。

那么问题来了:如何正确 为 2.x 实现联系人列表 和 1.x android 版本?

对于特定于版本的较小更改(例如,您只需要正确的Uri),你可以只使用反射,如图所示这个示例项目.

如果您的需求更复杂,您可以通过创建一个接口(或抽象基类)和两个实现(每个 API 级别一个)来利用条件类加载,并且只使用正确的一个。这体现在这个示例项目.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何同时使用 Android 1.x 和 2.x 的联系人 API? 的相关文章

随机推荐