Mon application a besoin de télécharger de gros fichiers. J'utilise un service pour le téléchargement et montre le progrès dans une notification. Le problème est que pendant ce temps de téléchargement, l'utilisateur peut passer de 3g à WIFI. Dans ce cas, la progression s'arrête mais aucune exception n'est levée. Comment gérer correctement cette situation?Comment gérer passer de la 3G à WIFI? UrlConnection TimeOut ne lance pas Exception
URL url = new URL(myurl);
URLConnection conexion = url.openConnection();
conexion.setReadTimeout(10000);
conexion.setConnectTimeout(10000);
conexion.connect();
int lenghtOfFile = conexion.getContentLength();
// downlod the file
InputStream input = new BufferedInputStream(url.openStream());
OutputStream output = new FileOutputStream(targetFilePath);
byte data[] = new byte[1024];
long total = 0;
while ((count = input.read(data)) != -1) {
total += count;
// publishing the progress....
updateProgress(downloadNM, downloadNotification, (int)total*100/lenghtOfFile);
output.write(data, 0, count);
}
output.flush();
output.close();
input.close();
Pourriez-vous expliquer comment le problème du demandeur peut effectivement être résolu avec HttpClient? Ce serait un peu plus utile qu'un lien vers la documentation. – LouieGeetoo
Eh bien, les chances sont que HttpClient ne présentera pas le même comportement en premier lieu. Et si c'est le cas, il aura au moins de meilleurs outils à portée de main pour résoudre des problèmes de connexion compliqués. –