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 17/09/14, 11:39:25
Array

[xs_avatar]
esnaucer esnaucer no está en línea
Usuario novato en la web
 
Fecha de registro: ene 2009
Mensajes: 7
Modelo de smartphone: HTC P3450

Servicio con conexion a REST

Hola a todos,
estoy desarrollando una app la cual tiene un servicio en segundo plano que se conecta a un API REST para consultar un email.
La cosa es que si el teléfono no esta en reposo me realiza bien la conexión y obtiene la respuesta pero cuando el teléfono entra en reposo no se comunica con el API y no me realiza la conexión, o mas bien no se conecta en el tiempo establecido.

¿Alguien puede orientarme en como puedo resolver este problema?

Un saludo.
Responder Con Cita


  #2  
Viejo 17/09/14, 12:26:42
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
Puedes hacer que el servicio sea Wakeful, pero te va a drenar la batería que da gusto.

Lo mejor será que te apoyes en el AlarmManager configurándolo como RTC_WAKEUP y lances un IntentService cada X tiempo.
Responder Con Cita
Gracias de parte de:
  #3  
Viejo 17/09/14, 12:50:07
Array

[xs_avatar]
esnaucer esnaucer no está en línea
Usuario novato en la web
 
Fecha de registro: ene 2009
Mensajes: 7
Modelo de smartphone: HTC P3450

 Cita: Originalmente Escrito por kriogeN Ver Mensaje
Puedes hacer que el servicio sea Wakeful, pero te va a drenar la batería que da gusto.

Lo mejor será que te apoyes en el AlarmManager configurándolo como RTC_WAKEUP y lances un IntentService cada X tiempo.
Tienes algun ejemplo?
¿Si lo hago Wakeful puede notarse mucho la bateria?
Responder Con Cita
  #4  
Viejo 17/09/14, 13:35:27
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
Es poner al principio del servicio un PARTIAL_WAKE_LOCK. Tendrás que darle a la app permisos de WAKE_LOCK.

http://developer.android.com/referen...erManager.html

El ejemplo es para SCREEM_DIM_WAKE_LOCK, sólo tienes que cambiarlo por PARTIAL_WAKE_LOCK.

Pero si, se va a notar muchísimo la batería, ten en cuenta que el móvil NUNCA entrará en reposo y siempre estará funcionando el procesador.

¿Cuánto te gasta el móvil escuchando música con la pantalla apagada? Pues te gastará casi igual.
Responder Con Cita
Gracias de parte de:
  #5  
Viejo 17/09/14, 13:50:46
Array

[xs_avatar]
esnaucer esnaucer no está en línea
Usuario novato en la web
 
Fecha de registro: ene 2009
Mensajes: 7
Modelo de smartphone: HTC P3450

 Cita: Originalmente Escrito por kriogeN Ver Mensaje
Es poner al principio del servicio un PARTIAL_WAKE_LOCK. Tendrás que darle a la app permisos de WAKE_LOCK.

http://developer.android.com/referen...erManager.html

El ejemplo es para SCREEM_DIM_WAKE_LOCK, sólo tienes que cambiarlo por PARTIAL_WAKE_LOCK.

Pero si, se va a notar muchísimo la batería, ten en cuenta que el móvil NUNCA entrará en reposo y siempre estará funcionando el procesador.

¿Cuánto te gasta el móvil escuchando música con la pantalla apagada? Pues te gastará casi igual.
Pues he estado leyendo el enlace que me has pasado y creo que descarto esa opción ya que el servicio nunca se detiene y la batería se la fundirá como tu dices en poco tiempo, el problema que nunca he trabajado con la clase AlarmManager.
¿Tienes algún ejemplo con esta clase?
Responder Con Cita
  #6  
Viejo 17/09/14, 17:00:38
Array

[xs_avatar]
esnaucer esnaucer no está en línea
Usuario novato en la web
 
Fecha de registro: ene 2009
Mensajes: 7
Modelo de smartphone: HTC P3450

 Cita: Originalmente Escrito por kriogeN Ver Mensaje
Puedes hacer que el servicio sea Wakeful, pero te va a drenar la batería que da gusto.

Lo mejor será que te apoyes en el AlarmManager configurándolo como RTC_WAKEUP y lances un IntentService cada X tiempo.


Muchisimas gracias compañero, al final lo he resuelto con AlarmManager y ahora me funciona a la perfección.

De nuevo muchas gracias!!!!
Responder Con Cita
  #7  
Viejo 03/10/14, 13:28:19
Array

[xs_avatar]
esnaucer esnaucer no está en línea
Usuario novato en la web
 
Fecha de registro: ene 2009
Mensajes: 7
Modelo de smartphone: HTC P3450

Hola de nuevo,
pues parece que me sigue fallando la aplicación. Todo funciona correctamente hasta que el teléfono lleva un rato en reposo (Pantalla negra). Cuando esta en reposo y llega el momento de conectar el el API me devuelve un conection refused.

Lo implemente con el AlarmManager pero aun asi me sigue fallando. Entiendo que el problema esta en que cuando el telefono entra en reposo por alguna razón (ahorra de batería) se desconecta de la red, pero si es asi ¿Como hago para reestablecer la conexión y poder comunicar con el API?

He intentado que si no tengo conexión lanzar varias veces la llamada al API, pero nada solo entra en bucle y no consigo conectar.

A ver si alguien puede echarme una mano.

Saludos.
Responder Con Cita
Respuesta

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



Hora actual: 17:07:17 (GMT +2)



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

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