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(使用前将#替换为@)