Intereting Posts
Как запустить valgrind с Android-приложением? Использование OpenMAX (IL?) Для декодирования аудио / видео на Android На какую ошибку это указывает – «new_window_surface возвращает 0x3000» Обнаружение изменений выбора в WebView Изменение позиции меню панели действий в Android Пользовательский файл Android build.xml для переименования манифеста Почему я должен использовать службу android вместо java-потока Как сделать панель контекстного ActionMode наложением панели инструментов appcompat-v7, но не ящиком навигации? Где находится ADB, Android Debug Bridge, исходный код компонентов, расположенный в Android с открытым исходным кодом Просмотр вне границ диалоговых окон Жизненный цикл активности Android и блокировка / разблокировка устройства Отправить электронную почту программно в Android Изменение стиля рамки в Галерее Создание эмуляторов для текущих телефонов Android Тестирование пользовательских представлений с помощью Robolectric

Приостановить фоновый процесс в 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 ()» с тем же объектом в другом потоке.