2011-12-16 10 views
8

He hecho una aplicación que transforma el teléfono en una cámara web y usa la conexión telefónica para enviar imágenes al espacio web de Internet.El bloqueo WiFi no funciona, ¿cómo evitar el ahorro de energía wifi?

Estoy usando una actividad publicitaria que configura un administrador de alarmas para ejecutar un servicio cada 5 o 15 minutos. Para realizar la ejecución completa del Servicio, realizo un bloqueo de activación, pero se interrumpe cuando finaliza el servicio.

Todo esto funciona perfecto con conexión móvil, pero no hace lo mismo con wifi.

Había establecido en las opciones wifi la política "NUNCA" para wifi sleep. Pero después de un tiempo (no siempre el mismo) el teléfono parece estar en modo de ahorro de energía: el ícono de wifi todavía está en la barra de estado pero el teléfono no se puede conectar. Incluso si uso el navegador ... entonces debo desconectarme y reconectar manualmente. El mensaje en el logcat: notify conn break (IOEx), close connection ¡Incluso con el teléfono enchufado al poder!

¿por qué? (1)

Experimentando con otra aplicación formada por una actividad que inicia un servicio que siempre se ejecuta con un bloqueo de activación. Así que he agregado el bloqueo wifi para garantizar la conectividad, pero también este método algunas veces se ejecuta y otro no. Siempre el mismo notify conn break (IOEx), close connection ¿por qué? (2)

El último experimento se deriva de la primera aplicación (administrador de alarmas) y para asegurarse de que el wifi no funciona en modo reposo/ahorro de energía (¿qué?) Tengo que encender el teléfono en el avión modo después de la ejecución del código y lo apago (conexión activada) cuando comienza el ciclo. Esto funciona bien durante dos días, pero después de algunas veces es un trabajo (cada una o dos horas cada 5 minutos, o a veces no funciona durante todo un día y luego se reinicia sin ningún motivo ...). Entonces, ¿por qué el modo avión a veces no restablece la conexión wifi prewious? (¿y otras veces lo hace?) (3)

El teléfono es un Samsung Galaxy ACE con originale 2.2 y está SIEMPRE enchufado a la carga.

+0

posible duplicado: http://stackoverflow.com/questions/5147203/wifi-sleeps-even-with-lock –

Respuesta

5

Para evitar que el dispositivo entre en el "modo de ahorro de energía", intente utilizar el bloqueo wifi del tipo WIFI_MODE_FULL_HIGH_PERF No está disponible públicamente hasta Android 3.1.
pero aún puede usarlo mediante codificación, el valor de WIFI_MODE_FULL_HIGH_PERF es 3 (int).
Lo probé en un dispositivo anterior a 3.1. ¡Funciona a las mil maravillas! ¡buena suerte!