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

Respuesta
 
Herramientas
  #1  
Viejo 21/10/17, 12:04:49
Array

[xs_avatar]
Dild0 Dild0 no está en línea
Usuario muy activo
 
Fecha de registro: may 2009
Mensajes: 856
Tu operador: Pepephone

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
Array

[xs_avatar]
kriogeN kriogeN no está en línea
Colaborador/a
· Votos compra/venta: (1)
 
Fecha de registro: oct 2010
Localización: Murcia
Mensajes: 4,637
Modelo de smartphone: Samsung Galaxy S7 Edge SM-G935F
Tu operador: Vodafone
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
Array

[xs_avatar]
Dild0 Dild0 no está en línea
Usuario muy activo
 
Fecha de registro: may 2009
Mensajes: 856
Tu operador: Pepephone

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
Array

[xs_avatar]
Dild0 Dild0 no está en línea
Usuario muy activo
 
Fecha de registro: may 2009
Mensajes: 856
Tu operador: Pepephone

@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
Array

[xs_avatar]
kriogeN kriogeN no está en línea
Colaborador/a
· Votos compra/venta: (1)
 
Fecha de registro: oct 2010
Localización: Murcia
Mensajes: 4,637
Modelo de smartphone: Samsung Galaxy S7 Edge SM-G935F
Tu operador: Vodafone
 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
Array

[xs_avatar]
Dild0 Dild0 no está en línea
Usuario muy activo
 
Fecha de registro: may 2009
Mensajes: 856
Tu operador: Pepephone

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   Portal | Indice > Todo sobre Android > Programación y Desarrollo para Android



Hora actual: 21:11:27 (GMT +2)



User Alert System provided by Advanced User Tagging (Lite) - vBulletin Mods & Addons Copyright © 2024 DragonByte Technologies Ltd.

Contactar por correo / Contact by mail / 邮件联系 /