2011-08-11 35 views
2

我想撥打電話簿讓用戶選擇一個(或多個可選)電話號碼(我只需要電話號碼,而不是整個聯繫人信息,因爲我想讓用戶跳過編號他自己並選擇一個)。這是我迄今發現:Android電話號碼選取器

Intent contactPickerIntent = new Intent(Intent.ACTION_PICK, 
        ContactsContract.Contacts.CONTENT_URI); 
startActivityForResult(contactPickerIntent, CONTACT_PICKER_RESULT); 

這將返回我選擇的聯繫,但隨後可能沒有或多個電話號碼(我不需要他們所有我需要的只是一個,我可以讓。用戶選擇它使用ListView控件或微調,但我相信一定會有的,由於我的手機上的郵件應用程序有這樣的選擇器的一些API(當然,可以更舒服,但我認爲它是一個API,而不是消息應用程序)。

+0

你見過http://stackoverflow.com/questions/3044545/get-contact-info-from-android-contact-picker? – Jack

+0

嗯,這正是我說的是一個壞榜樣。我希望用戶挑選號碼,獲得一串數字爲同一聯繫人是不是我所需要的。我希望用戶選擇該號碼。是的,我可以在沒有API的情況下做到這一點,但我希望有這樣的事情。 – Pijusn

+0

我沒有找到方法用api創建手機選擇器。我使用聯繫人選取器,當用戶選擇聯絡人應用軟件顯示了所有手機自己的對話框,如果他們不止一個,那麼用戶選擇手機的使用。使用兩次點擊選擇手機並不好,但總比沒有好。 – garmax1

回答

0

這使用API​​是可能的,請參閱: https://developer.android.com/guide/components/intents-common.html#Contacts

爲了讓用戶從一個 接觸選擇一個特定的信息,諸如電話號碼,電子郵件地址,或其他數據類型, 使用ACTION_PICK動作並指定MIME類型以下列 內容類型中的一種,如CommonDataKinds.Phone.CONTENT_TYPE 以獲取聯繫人的電話號碼。

他們爲榜樣的意圖的一個片段:

Intent intent = new Intent(Intent.ACTION_PICK); 
    intent.setType(CommonDataKinds.Phone.CONTENT_TYPE); 
    startActivityForResult(intent, REQUEST_SELECT_PHONE_NUMBER); 

你可以看到他們是如何處理的結果在上面鏈接的文檔。