2010-05-06 9 views
0

Je développe une application dans Android 1.6 (et ne peut pas utiliser 2.0 ou plus).Nouveau contact ajouté par programmation non visible dans l'application Contacts

ajouter un nouveau contact sur mon téléphone comme suit:

ContentValues contentValues = new ContentValues(); 
contentValues.put(Contacts.People.NAME, name); 

Uri contactUri = this.getContentResolver().insert(Contacts.People.CONTENT_URI, contentValues); 

Après cela, ajouter les numéros de téléphone de la même manière. Il fonctionne comme je suis en mesure de voir le nouveau contact ajouté avec le code suivant:

Intent intent = new Intent(Intent.ACTION_VIEW, contactUri); 
this.startActivity(intent); 

Mon problème est que, après l'ajout et l'affichage du nouveau contact, je ne peux pas le voir dans l'application Contacts à moins que je tout mon synchronisé contacts (j'ai aussi fait une recherche avec le nom du contact, je l'ai trouvé, néanmoins il n'a pas été ajouté dans la liste des contacts).

Comment puis-je mettre à jour par programme les contacts afin d'ajouter immédiatement mon nouveau contact dans l'application Contacts?

Merci!

Répondre

3

Je trouve la réponse: après l'ajout d'un nouveau contact (insérer), ajouter à myContactsGroup avec Contacts.People.addToMyContactsGroup() method :

// get new contact id : 

int contactId = Integer.valueOf(contactUri.toString().substring(contactUri.toString().lastIndexOf("/")+1)); 

// add the new contact to myContactsGroup to have it in Contacts Application : 

Contacts.People.addToMyContactsGroup(this.getContentResolver(), contactId); 
+0

[Contacts.People] Ce type est dépréciée, toute nouvelle suggestion? – RRTW

Questions connexes