如何运行通过Google通讯录更新的同步进程?

问题描述:

当我处理使用新的谷歌API删除联系人,我得到了这个问题如何运行通过Google通讯录更新的同步进程?

here is my problem

以下是唯一的反应:

你必须运行一个同步过程,所以它与谷歌更新联系人,而不是永久删除。检查已删除的标记

那么,我应该怎么做才能运行通过Google通讯录更新的同步过程?

这种方法可以解决您的probromm。但你必须设置你的帐户。

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); 
     } 
    } 
} 

如果你想删除您自己接触,那就是,你把联系人提供的东西,那么,直到你有你自己的服务器同步也不会被删除,那么这应该删除该行永久。联系人提供程序旨在执行此操作,以确保该行的服务器和客户端版本同时被删除。

您对原始问题的回复错误。 您的未与Google通讯录同步。您只能控制与您自己的服务器同步。 Google通讯录服务器拥有自己的同步适配器,如果用户选择与Google通讯录同步,则该适配器会被激活。

如果删除东西是正在与谷歌通讯录同步,那么它会保持“隐形”,直到下次同步时,此时它会被永久删除。联系人提供程序将自动处理,如果该东西不存在。如果你看到它,这意味着你在联系供应商中做了不正确的事情。可能会有一行附加到您看到的联系人未被正确删除。