gpt4 book ai didi

android - ContentResolver.addPeriodicSync 间隔汇总

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:03:12 25 4
gpt4 key购买 nike

我的同步适配器工作得非常好,除了一件小事在过去的几个小时里让我烦透了……对于我的应用程序,我希望同步适配器以 10 秒的间隔运行。

ContentResolver.addPeriodicSync(mAccount, AUTHORITY, Bundle.EMPTY, 5);

发生的情况是同步每 60 秒开始一次,而不是请求的 5 秒。当我将 interval 更改为 70 秒时,同步每 70 秒开始一次。

来自日志文件:

W/ContentService﹕ Requested poll frequency of 5 seconds being rounded up to 60 seconds.

或者,当我将间隔更改为 13 秒时,要确保 ContentService 正在占用我的间隔:

W/ContentService﹕ Requested poll frequency of 13 seconds being rounded up to 60 seconds.

有人知道这次围捕的原因吗?

发生在我的装有 Android 5.0.2(Api 级别 22)的摩托罗拉 XT 上。

使用模拟器 Android 4.0.4(Api 级别 15)进行了尝试,它做了同样的事情,只是没有日志消息,间隔从 60 秒改为 30 秒。所以一定有一些我不知道的限制。

谢谢,如果需要更多信息,请告诉我。

最佳答案

似乎无法添加间隔小于 60 秒的周期同步。 (或至少从 4.4 及更高版本开始。)

https://android.googlesource.com/platform/frameworks/base/+/kitkat-mr1-release/services/java/com/android/server/content/ContentService.java

if (request.isPeriodic()) {
mContext.enforceCallingOrSelfPermission(
Manifest.permission.WRITE_SYNC_SETTINGS,
"no permission to write the sync settings");
if (runAtTime < 60) {
Slog.w(TAG, "Requested poll frequency of " + runAtTime
+ " seconds being rounded up to 60 seconds.");
runAtTime = 60;
}
PeriodicSync syncToAdd =
new PeriodicSync(account, provider, extras, runAtTime, flextime);
getSyncManager().getSyncStorageEngine().addPeriodicSync(syncToAdd, userId);
}

关于android - ContentResolver.addPeriodicSync 间隔汇总,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31945718/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com