Thread + J2ME

Caros, desenvolvi uma aplicação para de tempos em tempos recuperar dados do servidor. Para isso criei um timerTask que em 10 em 10 minutos envia dados ao servidor caso tenha. Acontece que o usuário sai da aplicação em um tempo menor que 10 minutos e quando entra na aplicação novamente o tempo inicia do zero.
Ou seja, meu timerTask não roda nunca o método de envio ao servidor.

A solução então seria quando o usuário sair da aplicação eu guardar via RMS(Floggy) o tempo restante e quando o usuário entrar na aplicação o tempo iniciar do que faltava. Não encontrei nenhum método que me retorne este tempo. Pensei em verificar a data de inicio do timer e a data quando o usuário sai da aplicação, mas acredito que exista um método mais fácil e prático que esse, só não sei qual =D

Agradeço desde de já. Abração!

System.currentTimeMillis() não ajuda?

Cara,

Acredito que essa maneira que você colocou de pegar a hora e data do inicio do timer é a melhor. Não vejo maneira melhor.

Fala Ruddy,

acho que vc pode utilizar o alarm do push registry pra isso.

O Exemplo abaixo fara sua midlet ser ativada e executada a cada 10 minutos:

long delay = 10006010;
long t = new Date().getTime() + delay;
PushRegistry.registerAlarm(“PushDemoMIDlet”, t);

Para mais informações:
http://www.j2meforums.com/forum/index.php?topic=19222.0

Espero que isso te ajude.

Abraco.

Pode manter teu método de timer e chamar no destroyApp caso o user saia antes, mas se o usuário sair na marra, (botão desliga) aí complica um pouco.
Dá uma olhada no javadoc da classe MIDlet.