В моей программе для Android у меня есть код, который загружает файл. Это работает нормально, но, поскольку на мобильном телефоне вы можете быть отключены в любое время, мне нужно изменить его, если он переподключается и возобновляет загрузку, когда вы на полпути и кто-то звонит / вы теряете прием сотового телефона / и т.д. Я не могу понять, как определить, что InputStream перестал работать. Смотрите код ниже:
InputStream in = c.getInputStream();
byte[] buffer = new byte[8024];
int len1 = 0;
while ( (len1 = in.read(buffer)) > 0 ) {
Log("-"+len1+"- Downloaded.");
f.write(buffer,0, len1);
Thread.sleep(50);
}
Когда я теряю подключение к Интернету, мой журнал показывает:
Log: -8024- Downloaded.
Log: -8024- Downloaded.
Log: -8024- Downloaded.
Log: -8024- Downloaded.
Log: -6024- Downloaded. (some lower number)
А потом моя программа просто зависает на время ((len1 = и т. Д. Мне нужно сделать так, чтобы, когда интернет отключался, я ждал, чтобы интернет снова подключился, а затем возобновил загрузку.