Как следует подходить к такой проблеме: Предположим, мне нужно создавать периодические сетевые запросы, которые должны появляться только тогда, когда приложение находится на переднем плане, потому что, если они происходят в фоновой сети, запросы могут завершаться с помощью фоновой службы. , Я знаю, что вам понадобится этот код для периодических запросов:
Observable.fromCallable(networkRequest())
.repeatWhen(observable -> observable.delay(5, TimeUnit.SECONDS));
Проблема в том, что он будет продолжать выполняться, когда приложение находится в фоновом режиме.
Я думал о добавлении LiveData как-то , чтобы отписаться от этого в onStop и продолжить в onStart . Однако я не могу найти правильный подход к этому.
Если бы я добавил все это к CompositeDisposable , он мог бы прекратить мои сетевые запросы , если бы я вызвал одноразовые.clear () в onStop. Так что это тоже не правильное решение.
Я также хотел бы получить решение для ViewModel, но если это невозможно сделать в этом, то деятельность также подойдет в качестве наблюдателя.