Hélas, j'ai environ 500 contacts dans mon répertoire et pour une raison quelconque, après les avoir synchronisés avec thunderbird, le nom de l'affichage est aléatoire, le premier ... le premier en dernier. Alors j'ai pensé que je mettrais un widget rapide ensemble juste pour refaire tous mes noms d'affichage pour durer, d'abord. Le code que j'utilise est ci-dessous, mais je ne reçois pas les valeurs last/first. Les clés du curseur existent (données1, données2), mais les valeurs étaient "1" et null respectivement. Des idées?accès aux données de contact
Cursor cursor = getContentResolver().query(ContactsContract.Data.CONTENT_URI, null, null, null, null);
while (cursor.moveToNext() != false) {
String id = cursor.getString(cursor.getColumnIndexOrThrow(ContactsContract.Contacts._ID));
String fname = cursor.getString(cursor.getColumnIndexOrThrow(ContactsContract.CommonDataKinds.StructuredName.GIVEN_NAME));
String lname = cursor.getString(cursor.getColumnIndexOrThrow(ContactsContract.CommonDataKinds.StructuredName.FAMILY_NAME));
if (lname != null && lname.length() > 0) {
String sDName = lname + "," + fname;
ContentValues values = new ContentValues();
values.put(ContactsContract.Contacts.DISPLAY_NAME, sDName);
getContentResolver().update(ContactsContract.Data.CONTENT_URI, values, ContactsContract.Contacts._ID+"=", new String[] {id});
}
}
Excelent cette m'a eu où je devais aller. – user438431