【问题标题】:onPerformSync() is not triggered after ContentResolver.requestSync() call在 ContentResolver.requestSync() 调用后不会触发 onPerformSync()
【发布时间】:2014-06-06 08:53:13
【问题描述】:

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

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

我也尝试了一些其他教程并尝试运行他们的代码,但仍然是同样的问题。

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

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

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

请指导我解决这个问题。

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

【问题讨论】:

    标签: android android-syncadapter


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-11-25
        • 2017-11-14
        • 1970-01-01
        • 2022-11-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多