J'essaie d'utiliser l'API de ContactsContract pour ajouter des notes à mes contacts. Je ne suis pas sûr de bien comprendre les différents ID de contact et les ID de contact bruts. Mon problème semble assez similaire à ce qui est discuté here. Je veux: 1. Trouvez un contact spécifique. 2. Une fois trouvé, insérer des notes spécifiquesAndroid: Ajout de notes aux contacts existants
Je fais de la manière suivante:
Cursor contacts = getContentResolver().query(ContactsContract.Data.CONTENT_URI, null, null, null, null);
while(contacts.moveToNext()){
Log.d("TC", "Found : " + name);
int rid = contacts.getColumnIndex(ContactsContract.Data.RAW_CONTACT_ID);
int rawContactID = contacts.getInt(rid);
int nameIdx = contacts.getColumnIndex(ContactsContract.Data.DISPLAY_NAME);
String name = contacts.getString(nameIdx);
if <Some condition>{
ContentValues contentValues = new ContentValues();
contentValues.put(ContactsContract.Data.RAW_CONTACT_ID, rawContactID);
contentValues.put(ContactsContract.Data.MIMETYPE, ContactsContract.CommonDataKinds.Note.CONTENT_ITEM_TYPE);
contentValues.put(ContactsContract.CommonDataKinds.Note.NOTE, "Bazzinga !");
int stat = getContentResolver().update(ContactsContract.Contacts.CONTENT_URI, contentValues, null , null);
Log.d("TC", "Update returned : " + stat);
}
}
Je reçois aucune erreur. Mais le contact ne vous devez pas mis à jour :(
Sur une révision de la documentation, j'ai compris que j'avais besoin d'insérer une ligne dans la table de données pour le RawContact, j'essaierai! – advantej
A travaillé! Karan – advantej