在ContentResolver.requestSync()调用之后,不会触发onPerformSync()

时间:2014-06-06 08:53:14

标签: android android-syncadapter

我正在尝试实施同步适配器,我已关注This guide.

但在ContentResolver.requestSync()调用之后,不会触发onPerformSync()。

我还尝试过其他一些教程并试图运行他们的代码,但仍然存在同样的问题。

请告诉我是否需要为此做一些额外的配置。

触发同步操作的代码如下:

 Account newAccount = new Account(GlobalInfo.ACCOUNT, GlobalInfo.ACCOUNT_TYPE);
AccountManager accountManager = (AccountManager) this.getSystemService(ACCOUNT_SERVICE);
    accountManager.addAccountExplicitly(newAccount, null, null);

ContentResolver.requestSync(newAccount,GlobalInfo.AUTHORITY, Bundle.EMPTY);

请指导我解决这个问题。

编辑: 已创建(在设置 - >帐户和同步设置中)以上代码显示同步关闭

2 个答案:

答案 0 :(得分:1)

您是否尝试过在requestSync的第三个参数中设置标志而不是传递空Bundle?根据我的理解,您至少需要设置ContentResolver.SYNC_EXTRAS_MANUAL和ContentResolver.SYNC_EXTRAS_EXPEDITED。后面的窗台告诉SyncManager立即运行同步作业而不是等待。

答案 1 :(得分:0)

还需要互联网连接才能触发。如果没有互联网。它不会执行。