#Region Actualizar
Sub chkVersion
Dim miJob As HttpJob
Dim s As String
Dim pM As PackageManager
Dim Version As Int
Version=pM.GetVersionCode("nombre del paquete") ' lo ponemos en Project->Package name
lblVersion.Text="Version " & Version
' Borro si existen MiPrograma.apk y MiPrograma.txt
If File.Exists(File.DirRootExternal,"MiPrograma_" & Version & ".apk") Then
File.Delete(File.DirRootExternal,"MiPrograma_" & Version & ".apk")
End If
If File.Exists(File.DirRootExternal,"MiPrograma_" & Version & ".txt") Then
File.Delete(File.DirRootExternal,"MiPrograma_" & Version & ".txt")
End If
miJob.Initialize("Version",Me)
miJob.PostString(miApp.ServidorCGI,Array As String("Accion","VERSION")) 'Llamo al cgi con el número de version que tengo
End Sub
Sub JobDone(Job As HttpJob)
Dim s As String ',SQLstr,Registros(), Campos() As String
If Job.JobName="Version" Then
s=Job.GetString2("ISO-8859-1")
sbVersion(s)
Else If Job.JobName="Actualiza" Then
Dim Fichero As String
Dim iIntent As Intent
Fichero=Job.Fichero.Replace(".txt",".apk") ' lo bajo con extension txt pues con apk no me lo dejaba bajar
File.Copy(Job.FicheroCarpeta,Job.Fichero,Job.FicheroCarpeta,Fichero)
Fichero=File.Combine(Job.FicheroCarpeta,Fichero)
iIntent.Initialize(iIntent.ACTION_VIEW,"file://" & Fichero)
iIntent.SetType("application/vnd.android.package-archive")
StartActivity(iIntent)
Return
End If
Job.Release
End Sub
Sub sbVersion(s As String)
Dim miJob As HttpJob
Dim Pm As PackageManager
Dim Fichero As String
Dim VersionWeb, VersionActual, I As Int
If s.SubString2(0,2)<>"OK" Then Return ' si todo va bien devuelve OKn donde n es el número de version que hay en el servidor
Try
VersionWeb=s.SubString(2)
Catch
VersionWeb=0
End Try
VersionActual=Pm.GetVersionCode("nombre del paquete")
If VersionWeb<=VersionActual Then
Log("No actualizo version Actual " & VersionActual & " VersionWeb " & VersionWeb)
Return
End If
Log("Actualizo version Actual " & VersionActual & " VersionWeb " & VersionWeb)
I=Msgbox2("Hay una nueva versión de la app" & CRLF & "¿Desea actulizarla?","Actualizacion","Sí","","No",Null)
If I<>DialogResponse.POSITIVE Then Return
ProgressDialogShow("Actualizando...") ' me bajo la nueva versión
miJob.Initialize("Actualiza" ,Me)
miJob.Temporizador=False ' Activa un temporizador cada segundo para ver lo ue se va bajando. Util para grandes ficheros.
Fichero="Miprograma_" & VersionWeb & ".txt"
miJob.Fichero=Fichero 'Nombre del fichero en el android
miJob.FicheroCarpeta=File.DirRootExternal 'Carpeta para dejar elfichero en el android
miJob.Download("http://www.miservidor.es/cgi-bin/Actualizaciones/" & Fichero) ' ruta del fichero en internet
End Sub
#End Region