4

我已经使用 Android示例项目、Steele 的两部分教程(12)和 Google I/O 2010 talk on REST applications 设置了一个 SyncAdapter。

似乎 AbstractThreadedSyncAdapter 总是在其 onPerformSync 完成后立即在 SyncAdapter 服务上调用 onDestroy。不过,我想从 SyncAdapter 服务中分离出其他线程,我想知道是否有可能让 SyncAdapter 服务保持活动状态,直到这些线程完成——例如,将这些异步工作线程的回调注册回 SyncAdapter 服务.

是否可以在 onPerformSync 之后不终止服务的情况下做到这一点?或者您是否必须将所有同步方法放入 SyncAdapter onPerformSync 方法中的同一个线程中?

4

1 回答 1

4

我很确定答案是否定的……但即使有可能,你为什么还要这样做呢?它SyncAdapter已经在后台线程上工作了......那么为什么你必须在服务中触发单独的工作线程SyncAdapter来执行同步?

我想如果你尝试注册回调和/或弄乱SyncAdapter' 的生命周期来实现这一点,事情会开始变得混乱。Android 的同步服务负责为任意数量的应用程序(即 GMail、Google Drive 等)安排/执行同步操作,所以当onPerformSync完成时,这是一种告诉 Android 工作已经完成并且应该专注于它必须同步的下一个应用程序。

于 2012-10-07T16:45:34.787 回答