comment accéder à vos contacts dans mon programme android
Je suis en train de faire un message texte d'application et souhaitez accéder à vos contacts dans mon application Android
.
Je veux accéder à vos contacts comme s'ils étaient dans la liste de contacts. Lorsque sélectionné, j'ai besoin de retourner à mon activité dans laquelle je peux envoyer un SMS à la personne. Ou est-il possible d'accéder à la base de données dans laquelle les contacts sont stockés?
Mon code est indiqué ci-dessous:
String contactId = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts._ID));
String name = cursor.getString(cursor.getColumnIndexOrThrow(ContactsContract.Contacts.DISPLAY_NAME));
String no = cursor.getString(cursor.getColumnIndexOrThrow(ContactsContract.CommonDataKinds.Phone.NUMBER));
Mon LogCat ressemble à ceci:
09-07 12:46:15.458: DEBUG/AndroidRuntime(473): Shutting down VM
09-07 12:46:15.458: WARN/dalvikvm(473): threadid=1: thread exiting with uncaught exception (group=0x40015560)
09-07 12:46:15.478: ERROR/AndroidRuntime(473): FATAL EXCEPTION: main
09-07 12:46:15.478: ERROR/AndroidRuntime(473): java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=0, result=-1, data=Intent { dat=content://com.android.contacts/contacts/lookup/0r1-512D3F3D533B/1 flg=0x1 (has extras) }} to activity {task.list/task.list.Msgactivity}: java.lang.IllegalArgumentException: column 'data1' does not exist
09-07 12:46:15.478: ERROR/AndroidRuntime(473): at android.app.ActivityThread.deliverResults(ActivityThread.java:2532)
09-07 12:46:15.478: ERROR/AndroidRuntime(473): at android.app.ActivityThread.handleSendResult(ActivityThread.java:2574)
09-07 12:46:15.478: ERROR/AndroidRuntime(473): at android.app.ActivityThread.access$2000(ActivityThread.java:117)
09-07 12:46:15.478: ERROR/AndroidRuntime(473): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:961)
09-07 12:46:15.478: ERROR/AndroidRuntime(473): at android.os.Handler.dispatchMessage(Handler.java:99)
09-07 12:46:15.478: ERROR/AndroidRuntime(473): at android.os.Looper.loop(Looper.java:123)
09-07 12:46:15.478: ERROR/AndroidRuntime(473): at android.app.ActivityThread.main(ActivityThread.java:3683)
09-07 12:46:15.478: ERROR/AndroidRuntime(473): at java.lang.reflect.Method.invokeNative(Native Method)
09-07 12:46:15.478: ERROR/AndroidRuntime(473): at java.lang.reflect.Method.invoke(Method.java:507)
09-07 12:46:15.478: ERROR/AndroidRuntime(473): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
09-07 12:46:15.478: ERROR/AndroidRuntime(473): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
09-07 12:46:15.478: ERROR/AndroidRuntime(473): at dalvik.system.NativeStart.main(Native Method)
09-07 12:46:15.478: ERROR/AndroidRuntime(473): Caused by: java.lang.IllegalArgumentException: column 'data1' does not exist
09-07 12:46:15.478: ERROR/AndroidRuntime(473): at android.database.AbstractCursor.getColumnIndexOrThrow(AbstractCursor.java:314)
09-07 12:46:15.478: ERROR/AndroidRuntime(473): at android.database.CursorWrapper.getColumnIndexOrThrow(CursorWrapper.java:99)
09-07 12:46:15.478: ERROR/AndroidRuntime(473): at task.list.Msgactivity.onActivityResult(Msgactivity.java:99)
09-07 12:46:15.478: ERROR/AndroidRuntime(473): at android.app.Activity.dispatchActivityResult(Activity.java:3908)
09-07 12:46:15.478: ERROR/AndroidRuntime(473): at android.app.ActivityThread.deliverResults(ActivityThread.java:2528)
09-07 12:46:15.478: ERROR/AndroidRuntime(473): ... 11 more
09-07 12:46:15.489: WARN/ActivityManager(61): Force finishing activity task.list/.Msgactivity
Quelqu'un peut m'aider?
dois-je ajouter des autorisations
ya u avez besoin d'ajouter l'autorisation.
ya u avez besoin d'ajouter l'autorisation.
OriginalL'auteur sajith | 2011-09-07
Vous devez vous connecter pour publier un commentaire.
utilisez ce code pour récupérer contact:
vérifier édité le post....
Qu'advient-il si il y a plus d'un numéro de la sélection de l'ID. Selon le code ci-dessus, le présent récupérer le premier numéro. N'est-il pas une possibilité pour l'utilisateur de choisir le nombre de qui il veut?
utiliser pour chaque instruction...
OriginalL'auteur swan
consulter ces liens:
Comment appeler Android liste de contacts?
Comment obtenir des contacts de répertoire natif sous android
Comment faire pour obtenir tous les détails d'un contact dans Android
Comment obtenir le nom et prénom de contacts Android?
Comment faire pour importer des contacts à partir du répertoire de notre application
Contacts Android extraction
Comment obtenir tous les contacts android, mais sans ceux qui sont sur la SIM
http://mobile.tutsplus.com/tutorials/android/android-essentials-using-the-contact-picker/
OriginalL'auteur Vineet Shukla
essayer ce code. il stocke tous les contacts dans la liste de tableaux
si vous souhaitez enregistrer le contact spécifique utiliser la condition if.
ce que cela signifie "hasPhone retourne la valeur 1". ne pas obtenir ur problème
Chaîne hasPhone =c.getString(c.getColumnIndex(ContactsContract.Les Contacts.HAS_PHONE_NUMBER));
OriginalL'auteur Balaji.K