тайм-аут для загрузки файла - PullRequest
1 голос
/ 30 мая 2011

Я загружаю файл, используя этот способ

URL url = new URL(URL)

HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
connection.setDoOutput(true);
connection.setConnectTimeout(TimeOut);
connection.setReadTimeout(TimeOut);
connection.connect();
String status = connection.getHeaderField(0);

что я хочу сделать, это если файл не загружен в указанное время останавливает загрузку или дает исключение тайм-аута .

У меня было setConnectTimeout(), но выдавать исключение, только если соединение не установлено в течение начального времени соединения.

1 Ответ

1 голос
/ 30 мая 2011

Я не пробовал это, но я думаю, вы могли бы установить булеву переменную 'Finished = false;' прежде чем начать загрузку. Затем установите для этого значение «Finished = True; когда загрузка закончится. Затем создайте поток, который проверяет эту переменную через регулярный интервал или по истечении заданного времени. Если логическое значение не имеет нужного состояния, прервите загрузку (отключите соединение, закройте поток).

Также взгляните на класс AsyncTask.

...