2012-07-12 90 views
1

我一直googl'ed很多,以瞭解如何我可以得到的電話號碼,當用戶在聯繫人選擇器中選擇一個聯繫人。我知道如何打開聯繫人選擇器。但不是如何獲得電話號碼。
聯繫人選擇器,獲取電話號碼

我已經試過這些例子:

http://mobile.tutsplus.com/tutorials/android/android-essentials-using-the-contact-picker/
http://www.enkeladress.com/article.php/android_snippen_show_contact_picker

而且很多計算器線程,但Phone類似乎對被棄用。那麼,我該怎麼做呢?

在此先感謝!

(對於英語不好真是不好意思!希望大家理解!)

+0

有你看着ContactsContract?它取代過時的電話http://developer.android.com/reference/android/provider/ContactsContract.Contacts.html – javajavajava 2012-07-12 13:10:10

+0

有用的鏈接:http://stackoverflow.com/questions/3044545/get-contact-info-from- Android的接觸拾取 – 2012-07-12 13:10:28

+0

在這裏你去http://stackoverflow.com/questions/8612531/how-can-i-choose-a-phone-number-with-androids-contacts-dialog – 2012-07-12 13:11:16

回答

2

這爲我工作。

Uri contactData = data.getData(); 
Cursor c = main.managedQuery(contactData, null, null, null, null); 
if (c.moveToFirst()) { 
    String contactId = c.getString(c.getColumnIndex(ContactsContract.Contacts._ID)); 
} 

Cursor c1 = mcontext.getContentResolver().query(Data.CONTENT_URI, 
    new String[] {Data._ID, Phone.NUMBER, Phone.TYPE, Phone.LABEL}, 
    Data.CONTACT_ID + "=?" + " AND " 
    + Data.MIMETYPE + "='" + Phone.CONTENT_ITEM_TYPE + "'", 
    new String[] {String.valueOf(contactId)}, null); 
c1.moveToFirst(); 
String number = c1.getString(1); 

我收到了來自google文檔的查詢。你在第一個位置得到字符串,因爲這是上面查詢中的位置。
http://developer.android.com/reference/android/provider/ContactsContract.Data.html

相關問題