2012-08-23 27 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

申し訳ありませんが、別の方法はわかりませんが、見つけたら更新します。 –

関連する問題