@vbmundo
El servicio tendrías que sincronizar los datos a un bd sqlite en el teléfono de esa manera puedes utilizar en cualquier activity los datos, el servicio igual puede correr cada cierto tiempo aunque la aplicación este cerrada.
Queria preguntarte si las variables que estan declaradas en un Servicio pueden consultarse desde un Activity
Amigos,
Estoy probando el nuevo B4A 6.0...
No se si es la nueva versión o siempre funcionó así..
Pero no logro que un servicio este listo cuando arranca la aplicación... por mas StartService que yo corra. siempre ejecuta el Activity_Resume antes..
No logro arrancar la aplicación ejecutando consultas a la Base de Datos, porque en el Servicio esta todo.. la conexión y todo... y cuando arranca .. el servicio aun no esta disponible.
Como puedo hacer para que un Service se cargue antes ?
Gracias
Sub Activity_Create(FirstTime As Boolean)
If FirstTime Then
StartServiceAt("ElNombreDelServicio", DateTime.Now + 5 * DateTime.TicksPerSecond, True) 'inicia 5 segundos después de que se ejecuta la aplicación.
StopService("Starter") 'Detengo el servicio Starter ya que causa problemas al usarlo, por eso es mejor crear un nuevo servicio.
End If
End Sub
En tu activity main coloca lo siguiente
B4X:Sub Activity_Create(FirstTime As Boolean) If FirstTime Then StartServiceAt("ElNombreDelServicio", DateTime.Now + 5 * DateTime.TicksPerSecond, True) 'inicia 5 segundos después de que se ejecuta la aplicación. StopService("Starter") 'Detengo el servicio Starter ya que causa problemas al usarlo, por eso es mejor crear un nuevo servicio. End If End Sub
Mejor eliminarlo del proyecto si te da problemasStopService("Starter") 'Detengo el servicio Starter ya que causa problemas al usarlo, por eso es mejor crear un nuevo servicio.
If IsPaused(NombreDelServicio) Then
Hola Pablo:
"oficialmente" puedes emplear esto:
B4X:If IsPaused(NombreDelServicio) Then
Pero te recomiendo que pongas una variable global a True en Sub Service_Start (StartingIntent As Intent) , y la pongas a false en Sub Service_Destroy , haz la primera prueba y veras por que te digo lo de la variable global
Saludos
Si, lo he hecho así. con una variable global, pero ya te digo que no hay forma de ejecutar el Servicio antes del Activity... por mas que le pongas 1 segundo.. siempre ejecuta el Activity_Resume antes...
Entonces tuve que poner los SUBs como Public en el Activity y hacer a la inversa...desde el Service correr las rutinas del Main.
Saludos
Sub Activity_Create(FirstTime As Boolean)
StartService("SQLService")
End Sub
If FirstTime Then
ConsultaBD
End If
If FirstTime Then
AgregaCampoTabla 'Llamo al Sub
EliminaFotos 'Llamo al Sub
StartServiceAt("SincronizaDatos", DateTime.Now + 5 * DateTime.TicksPerSecond, True)
StopService("Starter")
If isConnected Then 'Compruebo la conexión a internet.
User_PHP 'Usuario en una BD Remota, Si el usuario es valido La app continua, si no se cierra.
Else
ToastMessageShow("No tienen conexión a internet", False)
UserLocal 'Si no hay conexión llamo al Sub y Si hay un usuario ya guardado en la bd sqlite sigo ejecutando la aplicación si no se cierra.
End If
End If
StopService("Starter") 'Detengo el servicio Starter ya que causa problemas al usarlo, por eso es mejor crear un nuevo servicio.
Hola Pablo:
Yo mis comentarios normalmente los hago basado en mi experiencia, yo estoy empleando Starter para inicializar cosas, e incluso para provocar eventos de la libreria Phone y por ahora no me dió ningún problema. Si tu tienes un problema concreto con starter plantealo en el foro y ya intentaremos dar con la solución o iremos directamente a Erel a consultarselo.
Creo que tu ultimo problema que has planteado de cargar un servicio antes que entre el Main Create o Resume ya te he dado un ejemplo de como resolverlo.
Por otro lado te vuelvo a insistir en lo mismo que te dije mas arriba, si verdaderamente Starter te da problemas, no lo destruyas, simplemente eliminalo del proyecto y asi dejará de darte problemas.
Saludos
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?