2010-12-07 24 views
0

まあ、私は周りを見てきましたが、実際に連絡先リストを表示する特定の方法を見つけることができません。私は higher pass'sのようなチュートリアルを見つけましたが、実際にそれらを表示する方法、実際にそれらを取得する方法については決して論じません。私は単にlistViewまたは類似のものに連絡先リストを表示するだけです。私はそれが一般的なものだと思われるので、私がそれを出そうとするよりもはるかに単純でなければならないことを知っています。具体的には、連絡先の名前と電話番号が欲しいだけです。私は、私は上記のチュートリアルを持っている、私のクエリが設定している、と私はそれが正しいです思い連絡先の取得と表示

 ContentResolver cr = getContentResolver(); 
    Cursor cur = cr.query(ContactsContract.Contacts.CONTENT_URI, 
      null, null, null, null); 
    if (cur.getCount() > 0) { 
    while (cur.moveToNext()) { 
     String id = cur.getString(
        cur.getColumnIndex(ContactsContract.Contacts._ID)); 
    String name = cur.getString(
        cur.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME)); 

    if (Integer.parseInt(cur.getString(cur.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER))) > 0) { 
     Cursor pCur = cr.query(
       ContactsContract.CommonDataKinds.Phone.CONTENT_URI, 
       null, 
       ContactsContract.CommonDataKinds.Phone.CONTACT_ID +" = ?", 
       new String[]{id}, null); 
       while (pCur.moveToNext()) { 
       } 
       pCur.close(); 
     } 
     } 
} 

答えて

0

このための組み込み活動があります:

startActivity(new Intent(Intent.ACTION_VIEW, ContactsContract.Contacts.CONTENT_URI)); 

あなたが使用している場合startActivityForResult()、あなたもあなたの選択した連絡先を返すことができます。

もしそれがあなたが探しているものではない場合は、可能であれば1つのクエリに戻し、ListViewAdapterを作成します。 Here is a sample projectは、連絡先に質問してListViewを入力し、連絡先の名前、名前と電話番号、または名前と電子メールアドレスを表示します。このサンプルでは、​​Android 1.6以降とAndroid 2.0以上の連絡先APIの両方が表示されるため、もう少し複雑になります。

+0

ありがとうございました! startActivityForResult()は実際に私が必要としていたものです。私は実際に情報を取り戻すのに少し問題があります。それは私がちょうど良いを選択することができ、それは私のアプリに戻りますが、今私はeditTextを電話番号で埋める必要があります。うまくいけば私はこれを理解するだろう。再度、感謝します! – Brandon

+1

ACTION_PICKを使用して連絡先データを取得する必要があります。 http://stackoverflow.com/a/11088915/525319 – Yar

関連する問題