2011-10-21 3 views
9

を選ぶために、私は、ユーザーが連絡先を選択できるように、このコードを使用しています:アンドロイド:どのように複数の連絡先

Intent contactPickerIntent = new Intent(Intent.ACTION_PICK, Phone.CONTENT_URI); 
startActivityForResult(contactPickerIntent, 1001); 

が、私は何をしたい姫は(チェックボックス付き)複数の連絡先を選択できるようになります。 どうすればいいですか?

+0

これはおそらく役に立ちます:https://github.com/1gravity/Android-ContactPicker(私は著者です) –

答えて

14

ACTION_PICKインテントオプションでは実行できません。これを実装するには、クエリから生成された連絡先がカスタムのListViewを使用して連絡先コンテンツプロバイダに送信される必要があります。

Intent.ACTION_PICKのインテントを使用する場合は、1つずつ選択するようにユーザーに指示する必要があります。

UPDATE:

カスタムListViewでこれを行うには、いくつかの方法があります。古い方法(それはほとんどの携帯電話と互換性があります)はちょっと説明するには時間がかかりますが、幸運にもあなたが探しているものを正確に説明する良いチュートリアルhereがあります(カスタムListViewのチェックボックスを使用した連絡先リスト)。

API 5以上では、連絡先リストの取得に役立つContactsContractクラスがあります。これを使用する方法のコード例については、アンドロイドのContactManagerサンプルアプリケーション、具体的にはContactManagerクラスとpopulateContactList()メソッドを見てください。

ContactsContractクラスのAPIもhereです。

+0

これを行うコードを追加できますか? (説明のために+1を付けました) – Belgi

+0

@Belgi、私はいくつかのリソースで自分の答えを更新しました。個人的には、Contactsクエリメソッド(リンクされたチュートリアルの最初の方法)を使用することをお勧めします。 –

+4

提案されたブログのリンク "http://vikasdp.wordpress.com/2011/02/06/custom-android-listview-to-read-phone-contacts/"が壊れています。適切な例で置き換えてください。 – MKJParekh

関連する問題