Syncadapter onPerformSync第一次被调用两次

Bha*_*ark 9 android android-syncadapter

我的syncadapter运行良好,除了一件事.用户安装应用程序后,我的应用程序会同步两次.稍后,如果我在"设置"中手动同步它,它只会按预期同步一次.这只是应用程序的第一次运行.

这是我的"onCreate"中的代码,如果尚未创建帐户,则创建帐户并设置syncadapter.关于我做错了什么的任何想法?

    if (accountManager.addAccountExplicitly(appAccount, null, null)) {
       ContentResolver.setIsSyncable(appAccount, PROVIDER, 1);
       ContentResolver.setSyncAutomatically(appAccount, PROVIDER, true);

       Bundle extras = new Bundle();
       extras.putBoolean("dummy stuff", true);
       ContentResolver.addPeriodicSync(appAccount, PROVIDER, extras, 43200);
    }
Run Code Online (Sandbox Code Playgroud)

我希望的行为是让应用程序在安装后立即同步一次,然后根据"addPeriodicSync"语句定期进行同步.

Joa*_*him 2

除了 addPeriodicSync() 之外,您是否还请求同步?

当您第一次添加帐户时,它应该会自行同步。因此任何额外的同步请求都会导致双重同步。

如果这没有帮助,您可以随时在首选项中保存上次同步的时间,并在每次同步时检查该时间,以便您可以将同步频率限制为您想要的任何频率。

希望有帮助!