2010-06-21 9 views
2

Quand je traite avec la suppression d'un contact à l'aide Google api, j'ai eu le problèmeComment exécuter un processus de synchronisation mis à jour avec Google Contacts?

here is my problem

Suite est la seule réponse:

Vous devez exécuter un processus de synchronisation, il met à jour avec Google Contacts, que ce sera supprimé définitivement. Vérifiez l'indicateur de suppression

Alors, que dois-je faire pour exécuter un processus de synchronisation mis à jour avec Google Contacts?

Répondre

1

Cette méthode pourrait résoudre votre probromm. mais vous devez avoir défini votre compte.

private void requestSync() 
{ 
    AccountManager am = AccountManager.get(this); 
    Account[] accounts = am.getAccounts(); 

    for (Account account : accounts) 
    { 
     int isSyncable = ContentResolver.getIsSyncable(account, ContactsContract.AUTHORITY); 

     if (isSyncable > 0) 
     { 
      Bundle extras = new Bundle(); 
      extras.putBoolean(ContentResolver.SYNC_EXTRAS_MANUAL, true); 
      ContentResolver.requestSync(accounts[0], ContactsContract.AUTHORITY, extras); 
     } 
    } 
} 
0

Si vous essayez de supprimer votre propre contact, qui est quelque chose que vous mettez dans le fournisseur de contacts, il ne sera pas supprimé jusqu'à ce que vous synchroniser avec votre propre serveur, qui devrait alors supprimer la rangée en permanence. Le fournisseur de contacts est conçu pour ce faire, afin de s'assurer que la version du serveur et celle du client de la ligne sont supprimées en même temps.

La réponse à votre question initiale était erronée. Votre ne se synchronise pas avec Google Contacts. Vous contrôlez uniquement la synchronisation avec votre propre serveur. Le serveur Google Contacts possède son propre adaptateur de synchronisation activé si l'utilisateur choisit de se synchroniser avec Google Contacts.

Si vous supprimez un élément synchronisé avec Google Contacts, il restera "invisible" jusqu'à la prochaine synchronisation, moment auquel il sera définitivement supprimé. Le fournisseur de contacts agira automatiquement comme si la chose n'existe pas. Si vous le voyez, cela signifie que vous faites quelque chose de mal dans le fournisseur de contacts. Une ligne peut être attachée au contact que vous voyez qui n'a pas été supprimé correctement.