Andorid Workmanager以固定流程运行作业

时间:2018-08-14 16:24:04

标签: android android-workmanager

我有一个后台任务,必须在固定过程中运行。我目前正在为此使用.vue。但是,我想迁移到WorkManager来利用基于网络的任务延迟。

是否使用WorkManager或以任何其他API 14-28兼容方式解决此问题?

3 个答案:

答案 0 :(得分:0)

这种方法呢?


        <service
                android:name="androidx.work.impl.background.systemjob.SystemJobService"
                android:process=":worker"/>

只需将声明放入您的Manifest中,然后ManifestMerger用android:process=":worker"创建最终合并的Manifest(worker是非主进程的名称,可以是另一个主进程)

答案 1 :(得分:0)

WorkManager 2.5.0 新增了一个workmanager-multiprocess 模块来解决这个问题。你可以用 implementation "androidx.work:work-multiprocess:$work_version"

要使用它,您可以注册一个新的 WorkManager.Initializer,如本页所述: https://developer.android.com/topic/libraries/architecture/workmanager/advanced/custom-configuration

当您注册此初始化程序时,您的配置需要包括对 .setDefaultProcessName("com.example.app:processName") 的调用。这将使调用发生在正确的过程中。我现在正在测试这个,它似乎有效,但如果有任何问题,我会更新这篇文章。

答案 2 :(得分:-1)