WorkManager NetworkType с условием «ИЛИ» - PullRequest
0 голосов
/ 26 марта 2020

Я только что закончил кодовую метку около WorkManager, и мне было интересно, как получить с ней условие «ИЛИ». После проверки setRequiredNetworkType я вижу, что он принимает только один аргумент типа NetworkType.

/**
 * Sets whether device should have a particular {@link NetworkType} for the
 * {@link WorkRequest} to run.  The default value is {@link NetworkType#NOT_REQUIRED}.
 *
 * @param networkType The type of network required for the work to run
 * @return The current {@link Builder}
 */
public @NonNull Builder setRequiredNetworkType(@NonNull NetworkType networkType) {
    this.mRequiredNetworkType = networkType;
    return this;
}

Например, я хотел бы, чтобы моя задача выполнялась, когда NetworkType.UNMETERED или NetworkType.CONNECTED. возможно ли это?


РЕДАКТИРОВАТЬ: Может быть, это не был хороший пример, я хотел знать, возможно ли иметь условие OR для использования Constraint.

Ответы [ 2 ]

0 голосов
/ 05 апреля 2020

CommonsWare ответил на мой вопрос в комментарии:

"Я хотел знать, возможно ли использовать условие OR для ограничения". - ни в одной работе. Возможно, вы сможете настроить несколько частей работы с отдельными ограничениями и попробовать некоторую координацию, чтобы использовалась только одна

0 голосов
/ 26 марта 2020

подключен - для этой работы требуется любое работающее сетевое соединение.

измерено - для этой работы требуется измеренное сетевое соединение.

not_roaming - сетевое соединение без роуминга требуется для этой работы.

unmetered - для этой работы требуется неизмеренное сетевое подключение.

На основании вышеизложенного и в зависимости от вашего варианта использования вы можете использовать UNMETERED, который будет укажите оба - Подключено и Не измерено

...