Récupérer des contacts dans l'application android

J'étais en suivant ces liens pour obtenir les contacts dans mon application

Comment appeler Android liste de contacts?

http://www.higherpass.com/Android/Tutorials/Working-With-Android-Contacts/

Je peux afficher la liste des contacts sur le téléphone, mais

-

  1. Je veux ajouter une case à cocher à chaque point de contact, de sorte que l'utilisateur peut sélectionner
    plusieurs contacts et en cliquant sur le bouton terminé, il devrait être en mesure
    pour obtenir tous les
    les contacts qu'il a choisi
  2. Aussi je veux obtenir le nom de contact ainsi que le téléphone
    nombre de contact , voir mon code :
 if (resultCode == Activité.RESULT_OK) { 
Uri contactData = données.getData(); 
Cursor c = managedQuery(contactData, null, null, null, null); 
si (c.moveToFirst()) { 
String name = c.getString(c 
.getColumnIndexOrThrow(ContactsContract.Les Contacts.DISPLAY_NAME)); 
Numéro de chaîne = c.getString(c.getColumnIndexOrThrow(ContactsContract.Les Contacts.HAS_PHONE_NUMBER)); 
Journal.v("nom", nom +" "+nombre); 
//TODO tout ce que vous voulez faire avec le contact sélectionné 
//le nom. 
} 
} 

sur ouvrir une session de chat, il montre de sortie :

01-09 12:46:41.688: V/name(699): Xyz 1

qui est le nom de contact est xyz et il a au moins 1 numéro de téléphone associé.Merci de m'aider sur comment puis-je obtenir le numéro associé à ce contact.

EDIT :

si j'utilise ce(String number = c.getString(c.getColumnIndexOrThrow(People.NUMBER));) de la ligne dans le code de l'-je obtenir de l'exception suivante :

01-09 13:33:23.008: E/AndroidRuntime(786): FATAL EXCEPTION: main
01-09 13:33:23.008: E/AndroidRuntime(786): java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=1, result=-1, data=Intent { dat=content://com.android.contacts/contacts/lookup/0r1-2C2E30/1 (has extras) }} to activity {sra.com/sra.com.ContactsDemo}: java.lang.IllegalArgumentException: column 'number' does not exist
01-09 13:33:23.008: E/AndroidRuntime(786):  at android.app.ActivityThread.deliverResults(ActivityThread.java:3515)
01-09 13:33:23.008: E/AndroidRuntime(786):  at android.app.ActivityThread.handleSendResult(ActivityThread.java:3557)
01-09 13:33:23.008: E/AndroidRuntime(786):  at android.app.ActivityThread.access$2800(ActivityThread.java:125)
01-09 13:33:23.008: E/AndroidRuntime(786):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2063)
01-09 13:33:23.008: E/AndroidRuntime(786):  at android.os.Handler.dispatchMessage(Handler.java:99)
01-09 13:33:23.008: E/AndroidRuntime(786):  at android.os.Looper.loop(Looper.java:123)
01-09 13:33:23.008: E/AndroidRuntime(786):  at android.app.ActivityThread.main(ActivityThread.java:4627)
01-09 13:33:23.008: E/AndroidRuntime(786):  at java.lang.reflect.Method.invokeNative(Native Method)
01-09 13:33:23.008: E/AndroidRuntime(786):  at java.lang.reflect.Method.invoke(Method.java:521)
01-09 13:33:23.008: E/AndroidRuntime(786):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
01-09 13:33:23.008: E/AndroidRuntime(786):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
01-09 13:33:23.008: E/AndroidRuntime(786):  at dalvik.system.NativeStart.main(Native Method)
01-09 13:33:23.008: E/AndroidRuntime(786): Caused by: java.lang.IllegalArgumentException: column 'number' does not exist
01-09 13:33:23.008: E/AndroidRuntime(786):  at android.database.AbstractCursor.getColumnIndexOrThrow(AbstractCursor.java:314)
01-09 13:33:23.008: E/AndroidRuntime(786):  at android.database.CursorWrapper.getColumnIndexOrThrow(CursorWrapper.java:99)
01-09 13:33:23.008: E/AndroidRuntime(786):  at sra.com.ContactsDemo.onActivityResult(ContactsDemo.java:49)
01-09 13:33:23.008: E/AndroidRuntime(786):  at android.app.Activity.dispatchActivityResult(Activity.java:3890)
01-09 13:33:23.008: E/AndroidRuntime(786):  at android.app.ActivityThread.deliverResults(ActivityThread.java:3511)
01-09 13:33:23.008: E/AndroidRuntime(786):  ... 11 more

source d'informationauteur Shruti