WorkManager:getInstance() 已弃用

WorkManager : getInstance() is Deprecated

WorkManager.getInstance() 在版本 2.1.0

中已弃用

依赖性:

implementation 'androidx.work:work-runtime:2.1.0'

这个方法或其他方法有什么变化?

我在文档中找到的解决方案如下:

This method is deprecated.

Call getInstance(Context) instead.

其中Context用于按需初始化。

WorkManager v2.1 引入了一种自定义其配置的新方法。之前的版本需要在应用程序启动期间创建新配置并初始化 WorkManager,而 v2.1 添加了新的 "on demand" 初始化。 这意味着 WorkManager 在应用程序第一次调用 getInstance(Context) 方法时被初始化(使用默认或自定义)初始化。

本例中的Context用于检索应用程序对象并查看它是否实现了Configuration.Provider接口。

WorkManager's documentation on custom configuration 中提供了更多信息。

此更改记录在 WorkManager's release notes 中(这是在 WorkManager v2.1-alpha01 中引入的)并且其中解释了为什么最好使用新的 getInstance(Context) 方法,即使您不是使用按需初始化。

注意:每当您更改或更新依赖版本时,请通过 release notes

根据document,你必须这样使用:

val workManager = WorkManager.getInstance(applicationContext)