我阅读了以下说明:https://developer.android.com/topic/libraries/architecture/workmanager/advanced/custom-configuration#on-demand
现在我有了MyApplication类,但是我不知道如何使用它,也找不到任何地方的明确说明
请求WorkManager.getInstance时,自然会生成错误,因为未在任何地方使用MyApplication类。我不明白如何为WorkManager激活此类。AndroidManifest.xml
:
<provider
android:name="androidx.work.impl.WorkManagerInitializer"
android:authorities="${applicationId}.workmanager-init"
tools:node="remove"
android:exported="false" />
MyApplication.java:
public class MyApplication extends Application implements Configuration.Provider {
@NonNull
@Override
public Configuration getWorkManagerConfiguration() {
return new Configuration.Builder().
setExecutor(Executors.newFixedThreadPool(5)).build();
}
}
我需要完全解决此问题,因此,我将感谢您的良好帮助。如何使按需初始化工作?
最佳答案
WorkManager v2.1引入了按需初始化。这意味着当您具有自定义配置时,您无需调用WorkManager.initialize()
,只需调用getInstance(Context)
就足够了。
仅仅调用现在不推荐使用的getInstance()
(没有Context
参数)还不够。这在链接到的documentation中说明。
我还在droidcon Berlin 2019的演讲“拥抱工作管理器”中介绍了它。您可以找到幻灯片here和视频记录here。