Bonjour,

Je souhaite gérer mes contacts avec l'API 2.0 et les classes ContactsContract.XXXXX

Mon problème se situe lors de l'insertion d'un contact : je n'ai pas de message d'erreur et quand je liste mes contacts par programmation il apparait. Par contre il n'apparait dans ma liste de contacts et quand je redémarre l'émulateur le contact a disparu

J'utilise l'exemple disponible sur le site developper android :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
String name = "Prenom Nom";
 
ArrayList<ContentProviderOperation> ops = new ArrayList<ContentProviderOperation>();
 
		ops.add(ContentProviderOperation.newInsert(ContactsContract.RawContacts.CONTENT_URI)
               .withValue(ContactsContract.RawContacts.ACCOUNT_TYPE, "null")
               .withValue(ContactsContract.RawContacts.ACCOUNT_NAME, "null")
               .build());
 
		ops.add(ContentProviderOperation.newInsert(ContactsContract.Data.CONTENT_URI)
                .withValueBackReference(ContactsContract.Data.RAW_CONTACT_ID, 0)
                .withValue(ContactsContract.Data.MIMETYPE, ContactsContract.CommonDataKinds.StructuredName.CONTENT_ITEM_TYPE)
                .withValue(ContactsContract.CommonDataKinds.StructuredName.DISPLAY_NAME, name)
                .build());
 
		try {
			cr.applyBatch(ContactsContract.AUTHORITY, ops);
		} catch (RemoteException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (OperationApplicationException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

Je travaille sous l'émulateur avec une version 2.1 d'Android et j'ai bien spécifié la permission WRITE_CONTACT.

Une idée ?

Merci par avance