是否可以在应用程序未运行时在后台运行 SyncAdapter?如果服务器有任何变化,我想更新 sqlite 数据库,即使 android 应用程序没有运行?
最佳答案
这个用例的最佳实践可能是:
1) 每当数据发生变化时,从您的服务器触发一个Broadcast
。
2) 从广播接收器启动服务。 (您可以在广播中发送一些额外的数据以区分广播操作)。
3) 在您启动的服务中更新您的数据库。
如果上述解决方案不是一个选项,那么:
我建议您使用 JobScheduler对于此类用例,这是一种较新的推荐方法。
不过,您也可以使用 SyncAdapter 来实现您的目标。但如今,当您需要维护帐户或在其他应用程序之间共享 AuthTokens 或在您的 ContentProviders
中存储一些 SyncAdapter
特定数据时,通常会使用它们。
关于android - 当应用程序未运行时在后台运行 SyncAdapter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40916067/