2012-04-04 2 views
0

J'ai créé une application pour ContactsContract ... J'ai créé un spinner qui apporte tous les comptes configurés et donc l'utilisateur peut choisir le type de contact , gmail (com.google), phoneBook et ainsi de suite ....App fonctionnant sur HTC mais pas sur samsung pour android (lié aux contacts)

Maintenant, si je sélectionne le répertoire, alors le contact est ajouté parfaitement dans le répertoire. Lorsque je sélectionne l'option gmail, cela fonctionne parfaitement sur mon téléphone portable htc ... Le contact est ajouté, et après synchronisation, je peux le voir aussi dans mon compte gmail.

Mais, la même chose quand je test sur l'un des téléphones portables Samsung, il ne soit pas ajouté aux contacts de mon gmail ....

Je suis confus ...

Tous l'aide est appréciée. Merci d'avance ...

+0

Quelle version Android sur votre Samsung Cell ..? – Bhavin

+0

2.3.3 version de ma cellule samsung et version 2.2.0 de ma cellule htc – kanchan

+0

@Post Code que vous avez essayé d'ajouter Contact à ajouter dans le répertoire. – Herry

Répondre

0

Les numéros de téléphone sont stockés dans leur propre table et doivent être interrogés séparément. Pour interroger la table des numéros de téléphone, utilisez l'URI stockée dans la variable SDK ContactsContract.CommonDataKinds.Phone.CONTENT_URI. Utilisez un conditionnel WHERE pour obtenir les numéros de téléphone du contact spécifié. Effectuer une deuxième requête sur la base de données SQLite Contacts Android. Les numéros de téléphone sont interrogés par rapport à l'URI stockée dans ContactsContract.CommonDataKinds.Phone.CONTENT_URI. L'ID de contact est stocké dans la table téléphonique en tant que ContactsContract.CommonDataKinds.Phone.CONTACT_ID et la clause WHERE est utilisée pour limiter les données renvoyées.

Adresses Email

Interrogation adresses e-mail est similaire aux numéros de téléphone. Une requête doit être effectuée pour obtenir des adresses e-mail à partir de la base de données. Interrogez l'URI stockée dans ContactsContract.CommonDataKinds.Email.CONTENT_URI pour interroger la table d'adresses de messagerie.

Cursor emailCur = cr.query( 
     ContactsContract.CommonDataKinds.Email.CONTENT_URI, 
     null, 
     ContactsContract.CommonDataKinds.Email.CONTACT_ID + " = ?", 
     new String[]{id}, null); 
    while (emailCur.moveToNext()) { 
     // This would allow you get several email addresses 
      // if the email addresses were stored in an array 
     String email = emailCur.getString(
         emailCur.getColumnIndex(ContactsContract.CommonDataKinds.Email.DATA)); 
     String emailType = emailCur.getString(
         emailCur.getColumnIndex(ContactsContract.CommonDataKinds.Email.TYPE)); 
    } 
    emailCur.close(); 
Questions connexes