小编Dar*_*veh的帖子

使用 WorkManager 时的 Java.util.concurrent.RejectedExecutionException

我正在使用工作管理器和 kotlin 协程

implementation "androidx.work:work-runtime-ktx:2.0.0"
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.1.0'
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.1.0'
Run Code Online (Sandbox Code Playgroud)

我的工人班扩展了 CoroutineWorker

我是这样安排的

private const val WORK_TAG = "myWork"
  private val constraints = Constraints.Builder().setRequiredNetworkType(NetworkType.CONNECTED).build()

  fun schedule() {
         val work =
            OneTimeWorkRequestBuilder<MyWorker>().setConstraints(constraints).setInitialDelay(6, TimeUnit.HOURS)
                .addTag(WORK_TAG).build()
        WorkManager.getInstance().enqueue(work)
    }
Run Code Online (Sandbox Code Playgroud)

在 Google Play 控制台中,我注意到某些 Android 版本 ( https://ibb.co/DzBkpzy ) 出现崩溃

Fatal Exception: java.lang.RuntimeException: Error receiving broadcast Intent { act=android.net.conn.CONNECTIVITY_CHANGE flg=0x4000010 bqHint=4 (has extras) } in androidx.work.impl.constraints.trackers.NetworkStateTracker$NetworkStateBroadcastReceiver@2645398e
       at android.app.LoadedApk$ReceiverDispatcher$Args.run(LoadedApk.java:988)
       at android.os.Handler.handleCallback(Handler.java:739)
       at android.os.Handler.dispatchMessage(Handler.java:95)
       at android.os.Looper.loop(Looper.java:145)
       at android.app.ActivityThread.main(ActivityThread.java:7007)
       at java.lang.reflect.Method.invoke(Method.java)
       at java.lang.reflect.Method.invoke(Method.java:372)
       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1404)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1199)

Run Code Online (Sandbox Code Playgroud)

Caused …
Run Code Online (Sandbox Code Playgroud)

android android-jetpack android-workmanager kotlin-coroutines

3
推荐指数
1
解决办法
1965
查看次数