остановить асинхронную задачу через 60 секунд - PullRequest
1 голос
/ 24 марта 2011

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

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

Спасибо

Ответы [ 2 ]

4 голосов
/ 24 марта 2011

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

В соответствии с AsyncTask docs он выдаст исключение TimeoutException.

Сделайте что-то вроде:

try {
    //your AsyncTask code
} catch(TimeoutException ex) {
    //your timeout code
}
4 голосов
/ 24 марта 2011

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

...