У меня есть Asynctask, которая работает непрерывно, чтобы получить геокоординированные данные с определенным интервалом времени. Он работает до тех пор, пока пользователь не выйдет из действия, но у меня есть кнопка паузы, которая приостанавливает асинтез и кнопку возобновления, которая возобновит асинтез из позиции, которую она приостановила. Итак, как это сделать.Pause and Restore Async Task в Android
http://i.stack.imgur.com/3SomI.png
Вы должны использовать Профилированного поставщика местоположения, он делает все это автоматически. вы устанавливаете, как часто получать новое местоположение, и вызываете простые методы 'connect()' и 'disconnect()' to 'pause' it – Breavyn
* Asynctask ... для получения геокоординированных данных * ... интересно, я wana см. это, это был очень плохой дизайн (есть ли задействованный getLastKnownLocation?), это не то, как мы получаем обновления коордов) ... вернуться к теме ... ** «AsyncTask» предназначен для выполнения определенной работы на фоне и return ... не для «инфинитивных циклов» **, поэтому «приостановка AsyncTask» не вызывает чувства – Selvin
На самом деле цикл не для получения геокоординированных данных. его для таймера обратного отсчета с индикатором выполнения циклического заполнения. например. Если я установил таймер на 10 секунд, тогда прогресс и таймер будут отсчитываться до 10 секунд в течение следующих 10 секунд, пока пользователь не выйдет из приложения. Поэтому я помещаю как таймер обратного отсчета, так и прогресс обновления внутри aysynctask. Итак, теперь, когда я хочу нажать кнопку паузы, я хочу приостановить таймер и продолжить с получением динамических местоположений из метода изменения onlocation. и когда я нажму на кнопку возобновления, он возобновится с позиции, где он будет приостановлен. –