如何运行通过Google通讯录更新的同步进程?
问题描述:
当我处理使用新的谷歌API删除联系人,我得到了这个问题如何运行通过Google通讯录更新的同步进程?
以下是唯一的反应:
你必须运行一个同步过程,所以它与谷歌更新联系人,而不是永久删除。检查已删除的标记
那么,我应该怎么做才能运行通过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通讯录同步,则该适配器会被激活。
如果删除东西是正在与谷歌通讯录同步,那么它会保持“隐形”,直到下次同步时,此时它会被永久删除。联系人提供程序将自动处理,如果该东西不存在。如果你看到它,这意味着你在联系供应商中做了不正确的事情。可能会有一行附加到您看到的联系人未被正确删除。