Должен ли я показывать текущее уведомление при использовании WorkManager в Oreo и выше? - PullRequest
0 голосов
/ 20 сентября 2018

При выполнении задачи в методе doWork() для Worker, который работает в фоновом режиме (например, рабочий, который периодически работает в фоновом режиме, используя PeriodicWorkRequest), должен ли я показывать текущее уведомление?Если да, то как мне это сделать?Допустим, у меня есть что-то вроде:

class NoticeWorker(context: Context, params: WorkerParameters)
    : Worker(context, params) {

    override fun doWork(): Result {
        // do some work here
        return Result.SUCCESS
    }

}

, которое затем выполняется с

WorkManager.getInstance().enque(workerObj)

1 Ответ

0 голосов
/ 26 октября 2018

Нет, в версии Android> = 23 (включая Oreo), WorkManager по умолчанию будет использовать JobScheduler для постановки в очередь и выполнения работы.Из документов JobScheduler мы видим, что:

Во время выполнения задания система удерживает блокировку от имени вашего приложения.По этой причине вам не нужно предпринимать никаких действий, чтобы гарантировать, что устройство остается активным в течение всей работы.

Идея состоит в том, что использование WorkManager позволяет системе решать, когда икак делать вещи в фоновом режиме, что хорошо для производительности, поэтому они стараются сделать это как можно проще для нас, и вся эта логика отвлекается.Вам нужно только указать, что нужно сделать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...