Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Остановить асинхронную задачу через 60 секунд

Автор вопроса: abhishekОтветов: 2

я хочу остановить асинхронную задачу через 60 секунд

я знаю, что есть метод get(time, timeunit), который я должен использовать в doInBackground, но я не знаю, как проверить, истекло ли время ожидания или нет, пожалуйста, предоставьте этот пример кода одной строки.

Спасибо

androidjavadialogandroid-asynctasktimeout

Ответы

Ответ 1 · рейтинг 4 · firefox1986

Если я правильно понял ваш вопрос, вы уже знаете, как отказаться от задачи через n секунд, но вам нужно знать, ЕСЛИ она была заброшена?

Согласно документам AsyncTask. будет сгенерировано исключение TimeoutException.

Сделайте что-нибудь вроде:

try {
    //your AsyncTask code
} catch(TimeoutException ex) {
    //your timeout code
}

Ответ 2 · рейтинг 4 · Rohit Mandiwal

вы можете использовать TimerTask для которого вы можете начать в doInBackround() с расписанием на 60 секунд. в run() из TimerTask просто вызовите остановку для асинхронной задачи.

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы