Android InputStream Internet Disconnect
No meu programa Android, tenho algum código que baixa um arquivo. Isso funciona bem, mas como em um telefone celular, você pode ser desconectado a qualquer momento, preciso alterá-lo. Ele se reconecta e retoma o download quando você está no meio do caminho e alguém liga / perde a recepção do celular / etc. Não consigo descobrir como detectar o InputStream parou de funcionar. Veja o código abaixo:
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);
}
Quando eu perco a conexão com a Internet, meu log mostra:
Log: -8024- Downloaded.
Log: -8024- Downloaded.
Log: -8024- Downloaded.
Log: -8024- Downloaded.
Log: -6024- Downloaded. (some lower number)
E, em seguida, meu programa fica paralisado por um tempo ((len1 = etc.) Preciso fazê-lo quando a Internet for desconectada. Espero que a Internet seja conectada novamente e reinicie o download.