WorkManager没有正确初始化

3

我在我的应用程序中使用Work Manager,使用最新的库

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

在清单文件中
 <provider
        android:name="androidx.startup.InitializationProvider"
        android:authorities="${applicationId}.androidx-startup"
        tools:node="remove">
    </provider>

应用程序类

class App : Application(), Configuration.Provider {
override fun getWorkManagerConfiguration() =
    Configuration.Builder()
        .build()

override fun onCreate() {
    super.onCreate()
    WorkManager.initialize(this, Configuration.Builder().build())
}
}

我已经在应用程序类中添加了初始化。但是我仍然遇到了这个错误。
java.lang.IllegalStateException: WorkManager is not initialized properly.  You have explicitly disabled WorkManagerInitializer in your manifest, have not manually called WorkManager#initialize at this point, and your Application does not implement Configuration.Provider.

你有找到解决办法吗? - undefined
@PriyankaChauhan 在开发阶段重新安装应用程序对我们来说解决了问题。而且我们在Play商店版本中没有遇到这个问题。 - undefined
我在OneSignal SDK集成中遇到了这个错误,你能帮忙解决吗?另外,我已经重新安装了应用,但它还是无法正常工作。 - undefined
@PriyankaChauhan 我在 OneSignal SDK 中没有看到使用 Work Manager。尝试降级 SDK 版本。如果你的应用程序没有使用 Work Manager,但仍然看到此错误,则可能是 SDK 的问题,请向他们报告。 - undefined
我们的应用程序在大量使用WorkManager。有时候我们会在由AlarmManager调度的BroadcastReceiver中遇到这种错误。不太清楚原因。 - undefined
1个回答

0
implementation 'androidx.work:work-runtime-ktx:2.6.0'

implementation 'androidx.hilt:hilt-work:1.0.0'

将此代码添加到 Manifest 文件中:

  <provider
        android:name="androidx.startup.InitializationProvider"
        android:authorities="${applicationId}.androidx-startup"
        android:exported="false"
        tools:node="merge">
        <meta-data
            android:name="androidx.work.WorkManagerInitializer"
            android:value="androidx.startup"
            tools:node="remove" />
    </provider>

在Application类中

@HiltAndroidApp
class SAPWizardApplication: Application(), Configuration.Provider {

@Inject
lateinit var workerFactory: HiltWorkerFactory

override fun getWorkManagerConfiguration(): Configuration {
    return Configuration.Builder()
        .setWorkerFactory(workerFactory)
        .build()
}
}

你好,你能帮我解决这个错误吗?我尝试了上面的解决方案,但在我的视图模型类中引发了错误。 - undefined
请粘贴错误信息。 - undefined
E/AndroidRuntime: 致命异常: 主要进程 进程: com.classon.parentapp, PID: 10054 java.lang.IllegalStateException: WorkManager未正确初始化。您在清单文件中明确禁用了WorkManagerInitializer,在此时没有手动调用WorkManager#initialize,并且您的应用程序没有实现Configuration.Provider。 at androidx.work.impl.WorkManagerImpl.getInstance(WorkManagerImpl.java:173) at androidx.work.WorkManager.getInstance(WorkManager.java:184) at - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接