Hola amigos estoy utilizando ImageDowlader que es una forma muy simple de descargar imágenes pero veo que si no hay conexión a internet la app se hace se cierra..
Como puedo evitar esto ?
Como puedo evitar esto ?
Sin emabargo le desconecto el WIFI y me da error ! y es eso por que al comentar la lineaEn principio, el ImageDownloader gestiona la falta de conexión internet simplemente escribiendo una línea en el log y sin errores (ver el JobDone)
Si lanzas la app de ejemplo, se te cierra también?
Sub isConnected() As Boolean
Dim sSocket As ServerSocket
If sSocket.IsInitialized = False Then
sSocket.Initialize(8080, "sSocket")
sSocket.Close
End If
Dim res As String
res = sSocket.GetMyIP
Log(res)
If sSocket.GetMyIP = "127.0.0.1" Or res.StartsWith("fe80::") Then 'fe80::94c2:c6ff:fe42:b881%dummy0
Return False
Else
Return True
End If
End Sub
If isConnected Then
ToastMessageShow("Con conexión a internet", False)
Else
ToastMessageShow("Sin conexión a internet", False)
End If
he descargado el mismo ejemplo que tu y da error al desconectar el wifi, solo que debes aguardar unos 20 segundos al menos para que se produzca el mismo..Yo he descargado el ejemplo que viene aquí:
https://www.b4x.com/android/forum/attachments/imagedownloader-zip.18311/
y al lanzarlo con el WIFI desactivado, simplemente no hace nada y muestra los fondos blancos en vez de las imágenes
Puedes postear el log?
He intentado reproducir el error pero no lo consigo. Si abro el programa sin WiFi, las imágenes se quedan en blanco, y si lo abro con el WiFi encendido, se cargan y cuando lo desconecto, no pasa nada: se quedan ahí sin dar error aunque lo deje durante varios minutos.
yo uso esto para probar conexión a Internet es lo que mejor me a funcionado, he probado varias formas.
utiliza la libreria Network
B4X:Sub isConnected() As Boolean Dim sSocket As ServerSocket If sSocket.IsInitialized = False Then sSocket.Initialize(8080, "sSocket") sSocket.Close End If Dim res As String res = sSocket.GetMyIP Log(res) If sSocket.GetMyIP = "127.0.0.1" Or res.StartsWith("fe80::") Then 'fe80::94c2:c6ff:fe42:b881%dummy0 Return False Else Return True End If End Sub
B4X:If isConnected Then ToastMessageShow("Con conexión a internet", False) Else ToastMessageShow("Sin conexión a internet", False) End If
Espero te sirva.
Hola no encuentro ServerSocket ..
Tienes el link?