Pregunta

Tengo un problema muy difícil que no puedo resolver. Tengo una aplicación que puedo poner en modo avión de forma remota para ahorrar energía. Tengo un hilo en ejecución que recibe el mensaje de ahorro de energía, elimina las devoluciones de llamada para todos los otros hilos, pone el teléfono en modo avión, y espera a que un número determinado de minutos antes de despertar la parte posterior del teléfono hacia arriba.

Cuando el teléfono está conectado a mi portátil (USB depuración habilitada, etc), entonces esta funcionalidad está muy bien. El teléfono entra en modo de avión, se bloquea la pantalla, y luego después de un número determinado de minutos de la aplicación "despierta" y continúa como normal.

Cuando el teléfono está conectado a un cargador de coche, el teléfono teléfono pasa al modo avión, pero el hilo nunca se despierta el teléfono. Este problema sólo se produce cuando la pantalla también se establece en tiempo de espera ... cuando me ajustar la pantalla a "Ningún tiempo de espera" y tener el teléfono conectado a un cargador de coche, la aplicación se despierta muy bien.

Parece ser que alguna combinación de fuente de alimentación y la pantalla el tiempo de espera mata a mi de ahorro de energía hilo a nivel de sistema. Sé que este post es muy específico a mi solicitud, pero ¿alguien ha encontrado un problema similar a esto antes?

¿Fue útil?

Solución

Si desea esperar un número n de minutos, es necesario utilizar una alarma, no un hilo. Nunca se puede asumir que un hilo permanece activo mientras que su aplicación no está en el primer plano. Echa un vistazo a http://developer.android.com/reference/android/app/ AlarmManager.html .

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top