注:必須在Android 1.5上工作 - ContactsContract不會獲取所有手機聯繫人列表?
足夠簡單的問題。我需要知道獲得用戶按下聯繫人按鈕時顯示的相同聯繫人列表的最佳方式。
你可能會認爲像這樣的工作:
//For Contacts
Intent pickIntent = new Intent(Intent.ACTION_PICK, People.CONTENT_URI);
this.startActivityForResult(pickIntent, RESULT);
//For Phones
Intent pickIntent = new Intent(Intent.ACTION_PICK, Phones.CONTENT_URI);
this.startActivityForResult(pickIntent, RESULT);
的問題是,不包括二次谷歌賬戶或交換聯繫人。通過二級帳戶,在Android中,您可以添加其他Gmail帳戶以同步郵件/聯繫人。上述意圖不會列出這些額外的聯繫人。
我還被告知,在HTC Desire上,您可以將手機中未添加聯繫人的聯繫人添加到Google。這些聯繫人也不顯示。
那麼,如何獲得真正的聯繫人列表,以便我可以創建自己的列表活動,在Google意圖沒有的情況下正常工作。
注:必須在Android 1.5的工作 - ContactsContract不
太棒了!我已經使用ContactsContract自己進行了反射測試,看看它是否可行。 我會執行,測試慾望,並馬上回來。 – pcm2a 2010-05-25 13:03:10
我編寫了他們的例子,但我看不出它對我們有什麼幫助。您需要定位2.0.1或更高版本的API才能編譯它們的示例。因此,我假設您的應用程序無法安裝在運行低於該版本的手機上,並且早期版本的用戶將無法在市場中看到您的應用程序。 我們需要一個可以在所有版本上運行並且可以部署的解決方案。我所看到的例子都沒有這樣做,除非我真的很厚並且錯過了一些東西,這很可能。 我已經得出結論,我必須發佈我的應用程序的兩個版本。不好。 – 2010-06-21 11:27:46
您可以編譯爲更高版本,但仍支持早期的SDK。如果使用反射,則可以動態加載導入後面的API的類 - 在加載之前,類不會「鏈接」。有關版本控制的更多信息,請參見此處:http://developer.android.com/guide/publishing/versioning.html#minsdkversion – sehugg 2010-07-15 04:56:03