我正在尝试实施同步适配器,我已关注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);
请指导我解决这个问题。
编辑: 已创建(在设置 - >帐户和同步设置中)以上代码显示同步关闭
答案 0 :(得分:1)
您是否尝试过在requestSync的第三个参数中设置标志而不是传递空Bundle?根据我的理解,您至少需要设置ContentResolver.SYNC_EXTRAS_MANUAL和ContentResolver.SYNC_EXTRAS_EXPEDITED。后面的窗台告诉SyncManager立即运行同步作业而不是等待。
答案 1 :(得分:0)
还需要互联网连接才能触发。如果没有互联网。它不会执行。