這次導入 work 要搭配 koin,所以配置上比較麻煩一些。
首先加入 work 依賴
//2.7需要api31以上
def work_version = "2.6.0"
implementation "androidx.work:work-runtime-ktx:$work_version"
androidTestImplementation "androidx.work:work-testing:$work_version"
再來是 koin 依賴
def koin_version = "3.1.4"
implementation "io.insert-koin:koin-android:$koin_version"
implementation "io.insert-koin:koin-androidx-workmanager:$koin_version"
testImplementation "io.insert-koin:koin-test:$koin_version"
接著關閉 default 的 work init,在 manifest 加上
<!--work manager 2.6+將 work manager 移到 startup,移除系統的 work manager,使用koin的-->
<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>
沒有留言:
張貼留言