2012-08-23 237 views
5

的聯繫人的意圖請問,是否可以使用意向和默認聯繫人應用程序從聯繫人中選擇電話號碼?電話號碼

也許這一些修改(顯示所有聯繫人選擇):

Intent intent = new Intent(Intent.ACTION_PICK, ContactsContract.Contacts.CONTENT_URI); 
startActivityForResult(intent, CONTACT_PICKER_ID); 

回答

7
Intent intent = new Intent(Intent.ACTION_PICK, Contacts.CONTENT_URI); 
intent.setType(ContactsContract.CommonDataKinds.Phone.CONTENT_TYPE); 
startActivityForResult(intent, 1); 
3

您可以打開上的聯繫人遊標,並通過掌握電話號碼的聯繫人運行。你可以重新被你所提到使用此光標的意圖顯示的聯繫人挑選活動(把它們放在一個列表視圖,從挑選)在你表現

 ContentResolver cr = getContentResolver(); 
     Cursor phoneCur = cr.query( 
       ContactsContract.CommonDataKinds.Phone.CONTENT_URI, 
       null, 
       null, 
       null, 
       null); 
     while (phoneCur.moveToNext()) { 
      String phone = phoneCur.getString(
         phoneCur.getColumnIndex(
           ContactsContract.CommonDataKinds.Phone.DATA)); 
      //do something, check if empty... 
     } 
     phoneCur.close(); 

用這種方法,你還需要讀取聯繫人權限

<uses-permission android:name="android.permission.READ_CONTACTS"/> 
+0

不完全是我所希望的解決方案。但我想沒有其他辦法,是嗎?所以我接受這個答案,謝謝。 –

+0

對不起,我不知道另一種方式,但我會更新它,如果我找到一個。 –