J'essaie de supprimer un détail d'un contact dans android. Par exemple, un contact a un e-mail et un numéro de téléphone, disons que je veux supprimer uniquement le numéro de téléphone. Supposons que j'ai déjà l'ID du détail d'une requête précédente.Comment supprimer un détail de contact?
Mes recherches ont uniquement trouvé des sujets liés à la suppression de l'ensemble du contact, qui a déjà fonctionné pour moi. Il s'agit de supprimer un détail uniquement, c'est-à-dire de la table ContactsContract.Data.
La partie pertinente de mon code est collée ci-dessous, encore une fois l'ID est déjà connu. Le message du journal signale qu'une entrée a été supprimée avec succès, ce que j'ai attendu. Mais lorsque je passe à l'application Contacts, le détail est toujours là. Même après avoir redémarré cette application à partir de zéro. Donc, quelque chose ne semble toujours pas mis à jour correctement.
Merci pour toute aide
private void deleteDetail(ContactDetail detail) {
Uri detailsUri = ContactsContract.Data.CONTENT_URI;
String selection = ContactsContract.Data._ID + " = ?";
String[] selectionArgs = { String.valueOf(detail.getID()) };
int result = 0;
try {
result = mProvider.delete(detailsUri, selection, selectionArgs);
} catch (RemoteException e) {
e.printStackTrace();
}
Log.d(LOGTAG, "deleteDetail() - id=" + detail.getID() + ", deleted "+result+" entries");
}
Je ne crois pas que ce soit le cas ici, pour 2 raisons: a) Je cours dans un émulateur et il n'y a pas d'autres types de contact que j'utilise, il y a seulement les contacts que je crée pour ces tests, principalement par code b) semblable à votre suggestion j'ai essayé de supprimez avec le code suivant: Modification de la sélection afin qu'elle supprime * tous * les détails téléphoniques de tous les contacts Sélection de chaîne = ContactsContract.Data.MIMETYPE + "=?"; Chaîne [] selectionArgs = {ContactsContract.CommonDataKinds.Phone.CONTENT_ITEM_TYPE}; –
Si vous recherchez les numéros de téléphone de ce contact après les avoir supprimés, récupérez-vous à nouveau ce téléphone supprimé? – marmor
étrangement - non. la base de données semble correcte du point de vue du programme. perplexe ... –