Intereting Posts
Развернуть / свернуть Анимация: малая лага || MeasureSpec возвращает неверное значение Как сделать встроенную ОС Android только одним приложением? Как программно кэшировать / загружать карту google map v2? Получить расстояние от видимой части карты Google Fix Android (Studio) Вход Активность Шаблон сгенерированной активности Как разрешить пользователю использовать loadConnectedPlayers Требуется ли WebView WebViewClient для работы? Обнаружение начала прокрутки и завершения прокрутки в режиме recyclerview Android Studio: не удается выполнить синтаксический анализ SDK, возможно, отсутствуют надстройки в каталоге Элементы ListView и переменной высоты вызывают проблемы с прокруткой SQlite – Android – синтаксис внешнего ключа Clueless О (возможно) утечке памяти Android Ошибка предварительного компилятора Android на 21.0.1 android sdk IndeterminateProgressBar в стиле ActionBar – проблема с заполнением Обнаружить пальцем прокрутку через JavaScript на iPhone и Android

Приостановить фоновый процесс в robospice

Возможно ли приостановить фоновый сервис, запущенный в данный момент, и запустить его снова, начиная с момента его прекращения?

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

Solutions Collecting From Web of "Приостановить фоновый процесс в robospice"

Я не эксперт по Robospice / Retrofit. Но это общий вопрос о http-соединении.

Для этого вам нужно написать код низкого уровня для подключения к серверу. Чтобы открыть поток для службы. Таким образом вы можете проверить, открыт ли поток. Если да, добавьте новые данные в массив, который ваш поток уже принимает данные для отправки на службу.

Поскольку вы используете эту библиотеку. Это неприменимо. Ваше единственное решение – отменить / остановить соединение и установить новый.

Это должно быть легко:

if( spiceManager.isStarted() ) spiceManager.cancel(String.class, MY_REQUEST_CACHE_KEY); 

И затем запустите новый.

Примечание. Существует вероятность, что при проверке, действительно ли spiceManager получил истинное значение. И до отмены соединение spiceManager завершается. В этом случае вы должны принять во внимание, чтобы не отправлять уже представленную информацию снова. Это будет пустой тратой. Это зависит от вашей реализации. Вам не нужно делать дополнительную работу для этого.

Вы можете попробовать использовать «wait ()», который является методом Object. Он может приостанавливать текущий поток, пока вы не будете использовать «notify ()» или «notifyAll ()» с тем же объектом в другом потоке.