#Servicios
1 messages · Page 1 of 1 (latest)
pero eso que dices se puede hacer perfectamente
solo tienes que tener en cuenta que para iniciar el servicio, el usuario tiene que haber abierto la app por lo menos una vez
Estaba probando con un Handler y que se active cada X segundos, pero es quitarlo de segundo plano y ya se para
para que tu puedas lanzar el inicio del servicio
luedo el usuario puede cerrarla o ponerla en segundo plano y no habrÃa proglema
Claro, el flujo de trabajo serÃa el siguiente: Usuario hace cierta acción, se lanza el servicio y ya independientemente de lo que haga con la app
correcto, el handler no te sirve porque su ciclo de vida está ligado al de la app
que este servicio checkee cada 5 minutos un estado en el servidor
el servicio tiene su propio ciclo de vida
Si no te importa hacer la consulta cada 15 min al servidor, la mejor opciones es el workmanager, ya que él se encarga de la gestion de los permisos en las distintas versiones y tiene mnuchas ventajas
Ya... Pero serÃa mejor cada 5 minutos
es un api creado por google para manejar justo lo que kieres hacer. Si lo quieres hacer cada 5 min, vas a tener que pelearte tu con los servicios
Mmmm, lo consultaré con mi jefe. Ya que si es más ventajoso el Workmanager, mejor
Pero leà que no era muy preciso, no?
Dentro del servicio si puedes lanzar el handler/coroutines/rxjava o lo que kieras para que se ejecute cada 5 min
Hey @orchid current, ¡has avanzando al nivel 8! 
Por ejemplo, si quieres que cada dÃa lanzar un servicio a las 2:00 am, un dÃa te la puede hacer a las 2:13, otro a las 2:07
Entonces con eso me puedo saltar la restricción de los 15 min?
Workmanager no está pensado para cosas puntuales como alarmas del reloj etc
Entiendo, es que lo que quiero ahcer es que cuando el usuario haga una acción, esta acción tiene un tiempo lÃmite de 2 horas
y es checkear un estado cada 5 minutos o asÃ
es para tareas en 2º plano que ademas están optimizadas para la gestion de bateria etc
para ver si ha cambiado el estado o no
como backups cada x tiempo (horas/dias/meses)
Mmm, pues a lo mejor con el Workmanager no lo podrÃa hacer
ya que es para algo puntual que puede hacer una o dos veces al dÃa
o incluso más si quiere
jaja
yo creo que el workmanager es justo lo que necesitas
Aunque tampoco me hagas caso, que soy nuevo en esto Jajajaja
porque, si no recuerdo mal, esta pensando para eso que has comentado
Con le workmanager puedes realizar la tarea de enviar al servidor y programarle que en caso de fallo lo reintente cada x tiempo hasta que lo consiga o que haga otra cosa en caso de fallo
tienes una gestion de esos procesos mas completa que con los servios
ya que google se ha currado esa api precisamente para esas cosas
voy a exar un ojo a algunos enlaces que me suenan, a ver si es lo que necesitas
Buah, pues muchas gracias
y ya me diras cuando te leas la EXTENSA docu...
supongo que ya le habras exado un vistazo a todo esto no: https://developer.android.com/topic/libraries/architecture/workmanager
Si
Hey @plush salmon, ¡has avanzando al nivel 5! 
Si no es algo que tengas que hacer cada x segundos, yo apostarÃa por utilizar workmanager cada 15 min jejej
Tampoco es tan descabellado hacerlo cada 15 min, creo yo
creo que las ventajas son mas que considerables, a no ser que los 5 min sean un requisito imprescindible
cuando me has dicho lo de los 5 min... creo que para un usuario darÃa igual
porque claro, un AlarmManager sólo es para alarmas y calendarios, no? No puedo hacerlo para que lo haga cada 5 min
porque no va a estar 5 min con la app abierta esperando... lo que se vaya a hacer en segundo plano, se puede hacer cada 15, sobre todo si tienes una ventana de 2 horas, como me has comentado
Workmanager lanzará la mejor option en cada versión de android
Claro, cuando el usuario haga cierta acción, tiene un tiempo máximo de 2 horas, en los que cada X intervalo he de checkear si ha cambiado un estado en el servidor
workmanager es una api que facilita la implementacion que tendrias que hacer tu usando: jobdispatcher, workmanager, hilos, lo que sea
tu podrias usar el workmanager pero tb tienes que tener en cuenta a partir de que versijon de android esta disponible, etc
entiendo entiendo
y te da opciones de optimización
Lee esto, que creo que tambien puede ser util
Con la configuracion de reintento lineal o exponencial puedes intentar hacer la obtencion de los datos del servidor y si falla, que el propio workmanager lo reintente hasta que lo consiga
y luego en los proximos 15 min lo volvera a hacer
Te dirÃa que le dediques una tarde o incluso un par de dias a leer todo lo que ofrece la api
Con los detalles que me has dicho, creo que merece la pena y es justo lo que necesitas!
este es el ultimo enlace que te paso: https://developer.android.com/codelabs/android-workmanager#0
Yo siempre tiro de los codelabs que conozco para una primera toma de contacto
Ademas tienes el codigo en github
Nada, good luck!