Home Menu

Menu



Programación y Desarrollo para Android Subforo exclusivo para temas de programación de software para PDAs y desarrollo de aplicaciones, interfaces, etc bajo Android


 
Herramientas
  #1  
Viejo 21/10/17, 12:04:49
Avatar de Dild0
Dild0 Dild0 no está en línea
Usuario muy activo
Mensajes: 860
 
Fecha de registro: may 2009
Mensajes: 860
Versión de ROM: CyanogenMOD
Tu operador: Pepephone
Mencionado: 3 comentarios
Tagged: 0 hilos
Problema servicio y wakelock wifi lock

Buenos días tengo un pequeño problema y no se exactamente que hago mal.

Tengo un servicio en segundo plano donde hago uso de la api de play services para Location, con los datos parametrizados en Location me obtiene los datos de mi localización cada 15 min y los envió a un servidor a traves de un webservice con retrofit.

Para evitar que la CPU se duerma y el Wifi he creado un PowerManager y un WifiManager wakelock y wifilock los cuales activo al iniciar el servicio y desactivo cuando el servicio muere por cualquier evento automáticamente. Si el servicio muere lo reinicio con un broadcast reciver.

Todo funciona genial, el servicio muere y se reinicia, cada 15 envia los datos al servidor, traceo los wakelock y me dicen que están activos, pero todas las noches al acostarme y dejar el móvil en reposo todo se apaga no entiendo por que los wake lock y wifi lock no funcionan.

Debo poner tambien wakelock en el broadcast reciver? debo hacer las llamadas al servidor fuera del servicio?

necesito un poco de ayuda
Responder Con Cita


  #2  
Viejo 21/10/17, 16:59:39
Avatar de kriogeN
kriogeN kriogeN no está en línea
Colaborador/a
Mensajes: 4,637
Compra y venta: (1)
 
Fecha de registro: oct 2010
Localización: Murcia
Mensajes: 4,637
Modelo de smartphone: Samsung Galaxy S7 Edge SM-G935F
Versión de ROM: CM13 - CM 11
Tu operador: Vodafone
Mencionado: 60 comentarios
Tagged: 3 hilos
Desde Android 6 no basta el WakeLock para que el dispositivo no entre en reposo, si se activa el Doze tu aplicación dejará de funcionar igualmente.

Tienes que añadir tu aplicación a la lista de aplicaciones que no usan optimización de batería para usar un WakeLock correctamente.

De todas formas para tu caso lo mejor es establecer una alarma cada 15 minutos, en lugar de estar continuamente con la CPU en marcha, la diferencia de gasto es considerable.
Responder Con Cita
  #3  
Viejo 21/10/17, 17:35:19
Avatar de Dild0
Dild0 Dild0 no está en línea
Usuario muy activo
Mensajes: 860
 
Fecha de registro: may 2009
Mensajes: 860
Versión de ROM: CyanogenMOD
Tu operador: Pepephone
Mencionado: 3 comentarios
Tagged: 0 hilos
Lo acabo de cambiar y la verdad que tienes razón, he creado una alarma para q se ejecute cada 15 min sin afectar al Doze y me ejecute el pending intent que ejecuta un servicio solo una vez y asi no esta a la escucha constantemente


muchisimas gracias

Última edición por Dild0 Día 21/10/17 a las 18:54:11
Responder Con Cita
  #4  
Viejo 22/10/17, 14:36:22
Avatar de Dild0
Dild0 Dild0 no está en línea
Usuario muy activo
Mensajes: 860
 
Fecha de registro: may 2009
Mensajes: 860
Versión de ROM: CyanogenMOD
Tu operador: Pepephone
Mencionado: 3 comentarios
Tagged: 0 hilos
@kriogeN

Una pregunta, ¿que es mejor? ¿crearse un servicio start_no_stiky que solo se ejecute una vez y destruirlo o simplemente dejarlo creado y luego iniciarlo cada vez que lo quiera usar?
Responder Con Cita
  #5  
Viejo 22/10/17, 15:31:29
Avatar de kriogeN
kriogeN kriogeN no está en línea
Colaborador/a
Mensajes: 4,637
Compra y venta: (1)
 
Fecha de registro: oct 2010
Localización: Murcia
Mensajes: 4,637
Modelo de smartphone: Samsung Galaxy S7 Edge SM-G935F
Versión de ROM: CM13 - CM 11
Tu operador: Vodafone
Mencionado: 60 comentarios
Tagged: 3 hilos
Cita:
Originalmente Escrito por Dild0 Ver Mensaje
@kriogeN

Una pregunta, ¿que es mejor? ¿crearse un servicio start_no_stiky que solo se ejecute una vez y destruirlo o simplemente dejarlo creado y luego iniciarlo cada vez que lo quiera usar?
Supongo que el segundo caso, de hecho no se si puedes volver a lanzar un servicio que ya ha terminado sin crear una instancia nueva del mismo.
Responder Con Cita
  #6  
Viejo 22/10/17, 18:52:31
Avatar de Dild0
Dild0 Dild0 no está en línea
Usuario muy activo
Mensajes: 860
 
Fecha de registro: may 2009
Mensajes: 860
Versión de ROM: CyanogenMOD
Tu operador: Pepephone
Mencionado: 3 comentarios
Tagged: 0 hilos
Gracias, seguí investigando y la gente opina tambien q la segunda, ya que el servucio se queda cacheado sin consumir nada y solo hay q iniciarlo
Responder Con Cita
Respuesta

Estás aquí
Regresar   HTCMania > Todo sobre Android > Programación y Desarrollo para Android


Reglas de Mensajes
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Las caritas están On
Código [IMG] está On
Código HTML está Off

Saltar a Foro



Hora actual: 14:26:35 (GMT +2)

Cookies
Powered by vBulletin™
Copyright © vBulletin Solutions, Inc. All rights reserved.
 
HTCMania: líderes desde el 2007