Ark*_*aha 5 android lint android-workmanager
我的 App 类实现了 Configuration.Provider.getWorkManagerConfiguration,关于本文:https ://developer.android.com/topic/libraries/architecture/workmanager/advanced/custom-configuration#on-demand
我在 AndroidManifest.xml 中使用此字符串切换了默认初始化程序:
<provider
android:name="androidx.work.impl.WorkManagerInitializer"
android:authorities="${applicationId}.workmanager-init"
tools:node="remove" />
Run Code Online (Sandbox Code Playgroud)
该代码按照我的需要工作 - 没有默认的初始化程序调用,但只有 Configuration.Provider.getWorkManagerConfiguration。
如果我运行 lint 检查,我仍然会看到错误:使用按需初始化时删除 androidx.work.impl.WorkManagerInitializer。
关于如何处理它有什么想法吗?
您必须删除默认的初始值设定项。要提供您自己的配置,您必须首先删除默认的初始值设定项。为此,请AndroidManifest.xml使用合并规则进行更新tools:node="remove"。
从 WorkManager 2.6 开始,App Startup 在 WorkManager 内部使用。要提供自定义初始值设定项,您需要删除该androidx.startup节点。
如果您不在应用程序中使用应用程序启动,则可以将其完全删除。
<!-- If you want to disable android.startup completely. -->
<provider
android:name="androidx.startup.InitializationProvider"
android:authorities="${applicationId}.androidx-startup"
tools:node="remove">
</provider>
Run Code Online (Sandbox Code Playgroud)
否则,仅删除 WorkManagerInitializer 节点。
<provider
android:name="androidx.startup.InitializationProvider"
android:authorities="${applicationId}.androidx-startup"
android:exported="false"
tools:node="merge">
<!-- If you are using androidx.startup to initialize other components -->
<meta-data
android:name="androidx.work.WorkManagerInitializer"
android:value="androidx.startup"
tools:node="remove" />
</provider>
Run Code Online (Sandbox Code Playgroud)
当使用低于 2.6 的 WorkManager 版本时,请删除 workmanager-init:
<provider
android:name="androidx.work.impl.WorkManagerInitializer"
android:authorities="${applicationId}.workmanager-init"
tools:node="remove" />
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1045 次 |
| 最近记录: |