public Configuration getWorkManagerConfiguration() {
return new Configuration.Builder()
.setMinimumLoggingLevel(android.util.Log.INFO)
.build();
}
它不使用自定义工厂。并且已经有几个其他模块(对于其他特性来说是gradle模块)正在使用WorkManger而不使用Factory。现在,如果我更改这个配置并添加一个工厂,它可能会破坏其他几个地方的work manager设置。我是否可以只对模块中的WorkManager类使用工厂(或者只有一些WorkManager类应该通过工厂初始化,其他的使用默认配置)。有可能吗?希望我的问题清楚了。
您可以使用DelegatingWorkerFactory
并将您是自定义WorkerFactory添加到其中。
您的自定义WorkerFactory将需要检查传递给工厂的类名是否是它想要处理的类名,如果不是,只需返回null
,DelegatingWorkerFactory
将使用反射恢复到默认的工作工厂。
请记住,每次初始化WorkManager时都需要添加自定义WorkerFactory。如果您不这样做,而WorkManager试图为您的Worker(通常由自定义WorkerFactory处理)完全填充一个工作请求,它将回退到默认的WorkerFactory并失败(可能出现类未找到的异常)。
class ConferenceDataWorkerFactory(
private val refreshEventDataUseCase: RefreshConferenceDataUseCase
) : WorkerFactory() {
override fun createWorker(
appContext: Context,
workerClassName: String,
workerParameters: WorkerParameters
): ListenableWorker? {
return when (workerClassName) {
ConferenceDataWorker::class.java.name ->
ConferenceDataWorker(appContext, workerParameters, refreshEventDataUseCase)
else ->
// Return null, so that the base class can delegate to the default WorkerFactory.
null
}
}
}
我的目标是每12小时更新一次我的应用令牌(使用网络请求),无论应用程序是在后台还是被杀死,所以我使用workmanager来解决这个问题。但周期性任务仅在应用程序处于后台或打开状态时有效,但当我杀死应用程序时,周期性任务停止以更新我的应用程序令牌。 这是我的代码: 我正在使用workmanager 2.4.0版本
问题内容: 我已经使用spring-data使用spring boot分别配置了neo4j和cassandra存储库。但是,当我尝试在同一项目中使用两个存储库时,它无法按预期工作。 这是我的文件夹结构。 ----- org.test.project 请注意,所有存储库都通过相应的DAO扩展了相应的spring-datapository。 当我使用此配置运行时,会出现以下错误。 我尝试更改存储库名称
我正在尝试使用WorkManager每10秒运行一个简单的工作。当应用程序在后台或前台运行时,它可以完美地工作。当我关闭应用程序(杀死应用程序)时,工作将不再被调用。 我在创建MainActivity时调用以下代码 工人阶级 这些代码在我的应用程序未关闭时运行良好。 我如何让它运行,即使应用程序关闭?
我需要每X分钟从服务器同步一次数据,即使在关闭应用程序之后也是如此。我使用WorkManger和PeriodicWorkRequest每X分钟触发一次。这是每X分钟触发一次,即使我们关闭了应用程序。退出应用程序后我面临的问题是如何访问静态类或变量? 示例代码: 同步类。反恐精英: 常数。反恐精英: 当应用程序处于前台和后台状态,但由于DependencyService类为null而在终止状态下失败
我有一个带有多个WebAPI的Spring Boot应用程序。如何通过应用程序属性以不同的方式配置每个WebAPI的路径前缀? 例如,我有一个UserRestController和一个StarShipRestController。两者都是不同WebAPI的一部分,但由同一个Spring Boot App提供服务。RestController应该只包含资源URL的最后一部分。路径前缀不应该是Rest