Я пытаюсь получить экземпляр WorkManager и получаю исключение RuntimeException! Есть обходной путь? - PullRequest
0 голосов
/ 01 августа 2020

вот соответствующая трассировка стека:

compileSdkVersion 30
implementation 'androidx.work:work-runtime-ktx:2.4.0'

Crash TCT (Alcatel) 5056D Android 6.0 (SDK 23) 48.aab 2 часа go

java.lang.RuntimeException:
  at android.app.ActivityThread.handleCreateService (ActivityThread.java:2887)
  at android.app.ActivityThread.access$1900 (ActivityThread.java:150)
  at android.app.ActivityThread$H.handleMessage (ActivityThread.java:1427)
  at android.os.Handler.dispatchMessage (Handler.java:102)
  at android.os.Looper.loop (Looper.java:148)
  at android.app.ActivityThread.main (ActivityThread.java:5417)
  at java.lang.reflect.Method.invoke (Method.java)
  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:726)
  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:616)
Caused by: java.lang.IllegalStateException:
  at androidx.work.impl.background.systemjob.SystemJobService.onCreate (SystemJobService.java:2)
  at android.app.ActivityThread.handleCreateService (ActivityThread.java:2877)
  at android.app.ActivityThread.access$1900 (ActivityThread.java:150)
  at android.app.ActivityThread$H.handleMessage (ActivityThread.java:1427)
  at android.os.Handler.dispatchMessage (Handler.java:102)
  at android.os.Looper.loop (Looper.java:148)
  at android.app.ActivityThread.main (ActivityThread.java:5417)
  at java.lang.reflect.Method.invoke (Method.java)
  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:726)
  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:616)

Что можно было обойти в этой проблеме? Есть ли другой способ инициализировать экземпляр WorkManager? Я использую

private fun getWorkManager(): WorkManager =
        try {
            WorkManager.getInstance(App.context)
        } catch (e: Exception) {
            e.printStackTrace()
            sleep(100)
            getWorkManager()
        }
...