簡體   English   中英

如何同時為Android 1.x和2.x使用通訊錄API?

[英]How to use contacts API for Android 1.x and 2.x simultaneously?

小米的問題是我需要在Android 1.5、1.6和2.x的應用程序中實現聯系人列表。

我是使用舊的Contacts API而不是ContactsContract來完成的,因為它與1.x系列向后兼容。 但是,在2.x上顯示我的應用程序時,聯系人列表不完整。 在某些設備中,它顯示為空,而在某些設備中,它僅顯示設備中的某些聯系人。

我知道在2.x系列上使用Contacts API時,它將僅顯示主客戶聯系人,但事實並非如此。 看起來只顯示了最近更新的聯系人,但事實並非如此。

因此,問題是:如何正確實現2.x和1.x android版本的聯系人列表?

提前致謝

但是,在2.x上顯示我的應用程序時,聯系人列表不完整。 在某些設備中,它顯示為空,而在某些設備中,它僅顯示設備中的某些聯系人。

正確。 舊的Contacts API僅訪問僅存儲在設備上的聯系人,而不訪問通過與其他提供商進行同步而獲得的聯系人。 Android 2.0還存在一個錯誤,您甚至沒有獲取本地存儲的聯系人,盡管該問題已在Android 2.0.1 IIRC中修復。

因此,問題是:如何正確實現2.x和1.x android版本的聯系人列表?

對於特定於版本的較小更改(例如,您只需要正確的Uri ),可以僅使用反射,如本示例項目所示。

如果您的需求更加復雜,則可以通過創建一個接口(或抽象基類)和兩個實現(每個API級別一個,只使用正確的一個)來利用條件類加載。 這在本示例項目中得到了證明。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM