eli*_*lig 6 java android android-workmanager
与:实现“androidx.work:work-runtime:2.3.4”
我正在尝试实现自定义初始化,以根据这些说明启用更详细的日志记录。
第一个片段有一行 bad: return Configuration.Builder()need to be return new Configuration.Builder()。
我扩展了应用程序,如下所示:
class MyApplication extends Application implements Configuration.Provider {
@Override
public Configuration getWorkManagerConfiguration() {
return new Configuration.Builder()
.setMinimumLoggingLevel(android.util.Log.INFO)
.build();
}
}
Run Code Online (Sandbox Code Playgroud)
我像这样启动工人:
WorkManager.getInstance(getApplicationContext());
Run Code Online (Sandbox Code Playgroud)
但即使在这一切之后,我还是让应用程序因以下投诉而崩溃:
WorkManager 未正确初始化。您已在清单中显式禁用 WorkManagerInitializer,此时尚未手动调用 WorkManager#initialize,并且您的应用程序未实现 Configuration.Provider。
尽管说明指出:
您不需要自己调用 WorkManager.initialize()
小智 5
或者
像这样初始化您的自定义 WorkManager:
// provide custom configuration
val myConfig = Configuration.Builder()
.setMinimumLoggingLevel(android.util.Log.INFO)
.build()
// initialize WorkManager
WorkManager.initialize(this, myConfig)
Run Code Online (Sandbox Code Playgroud)
您需要在 Application 类中实现该接口,以使用 WorkManager 的按需初始化Configuration.Provider来提供自定义配置。
Advanced WorkManager codelab中的一些示例代码对此进行了解释:
class BlurApplication : Application(), Configuration.Provider {
override fun getWorkManagerConfiguration(): Configuration =
Configuration.Builder()
.setMinimumLoggingLevel(android.util.Log.DEBUG)
.build()
...
}
Run Code Online (Sandbox Code Playgroud)
请确保您已包含此应用程序类AndroidManifest.xml:
<application
android:name=".BlurApplication"
Run Code Online (Sandbox Code Playgroud)
这样做,第一次使用getInstance(context)库请求 WorkManager 实例时,将使用您的自定义配置进行初始化。
| 归档时间: |
|
| 查看次数: |
14140 次 |
| 最近记录: |