frank1986
13/10/11, 16:08:42
Hola,
¿Qué tal? Veréis tengo un problema, os cuento. Estoy realizando una aplicación en la que, una de las partes, es que se envíe un email en segundo plano con la app minimizada. Estoy utilizando un hilo y todo funciona perfectamente, pero el problema viene en que si el teléfono está bloqueado, el hilo también se bloquea y no hace nada, sólo funciona si el usuario tiene el teléfono desbloqueado y claramente, con la app en segundo plano, pero como ya os digo, si el teléfono está bloqueado, no funciona, no da ningún error, sólo que no hace lo que tiene que hacer, es como si se pausara todo.
¿Cómo lo tendría que hacer? Os pongo cómo tengo echo el hilo:
Ésto es lo que tengo en el onCreate de la aplicación, en el que la función mi_funcion() se ejecuta cada 1 minuto y 30 segundos:
final Handler handler = new Handler();
Timer t = new Timer();
t.scheduleAtFixedRate(new TimerTask() {
public void run() {
handler.post(new Runnable() {
public void run() {
mi_funcion();
}
});
}
}, 3000, 1*60*1000+30*1000); //1 minuto y medio
¿Qué es lo que hago mál o cómo lo hago?
¿Qué tal? Veréis tengo un problema, os cuento. Estoy realizando una aplicación en la que, una de las partes, es que se envíe un email en segundo plano con la app minimizada. Estoy utilizando un hilo y todo funciona perfectamente, pero el problema viene en que si el teléfono está bloqueado, el hilo también se bloquea y no hace nada, sólo funciona si el usuario tiene el teléfono desbloqueado y claramente, con la app en segundo plano, pero como ya os digo, si el teléfono está bloqueado, no funciona, no da ningún error, sólo que no hace lo que tiene que hacer, es como si se pausara todo.
¿Cómo lo tendría que hacer? Os pongo cómo tengo echo el hilo:
Ésto es lo que tengo en el onCreate de la aplicación, en el que la función mi_funcion() se ejecuta cada 1 minuto y 30 segundos:
final Handler handler = new Handler();
Timer t = new Timer();
t.scheduleAtFixedRate(new TimerTask() {
public void run() {
handler.post(new Runnable() {
public void run() {
mi_funcion();
}
});
}
}, 3000, 1*60*1000+30*1000); //1 minuto y medio
¿Qué es lo que hago mál o cómo lo hago?