sábado, 13 de abril de 2013

Contornando problemas com o TIMER no AppInventor


Android Apps in 1 Hour: No Coding Required

Olá, o AppInventor ainda não tem uma solução(embora muitos usuários tenham requisitado)  para casos em que a aplicação necessite ficar "VIVA"(ALIVE) e rodando em background como um SERVICE .
Rodando em background significa que mesmo que o aparelho apresente-se como desligado, ou em estado latente ,  o mesmo fica "aguardando " por algum evento, tal como um SMS, uma chamada telefonica, ou mesmo contando tempo...
Quando o aparelho "desliga"o visor, no caso apresentado, o TIMER "pára" e é retomado quando é ligado novamente ... 
Caso você tenha problemas (como tive) de ao trabalhar com o CLOCK e o tempo do aparelho estiver definido para desligamento do visor (ou do aparelho) com valor inferior ao tempo definido, a solução que encontrei foi :
 - UTILIZE o Notifier (componente da guia OTHER STUFF) na Palette da IDE.
Exemplo :















Neste caso/solução acima , foi definido no componente CLOCK um TimerInterval de 60000 (o que corresponde a 60s ou seja 1 minuto = 60000  milissegundos. O CLOCK trabalha com millissegundos.

Então, WHEN Clock1.Timer(a cada vez que EXPIRA o TimerInterval , além de outras atividades é emitida uma notificação (Call Notifier.ShowAlert ) e ISTO MANTÉM o smartphone "acordado"...
Para que funcione então, é preciso que o tempo desligamento do visor do aparelho seja definido com valor SUPERIOR ao tempo de expiração do CLOCK1.

Foi esta solução que encontrei e...FUNCIONOU !!!

Espero que ajude !

Até o próximo post,

Germinaro



3 comentários:

  1. amigo vc poderia me ajudar, na aplicação bluetooth recebo um determinado texto recebido por uma label. como eu limpo o texto entes de receber um novo ?

    ResponderExcluir
  2. Olá NAndo,

    Voce pode mover um TEXT vazio para seu label para "limpar". Para fazer isto, atribua para seu SET LABELX.TEXT TO , clica em botã0 direito em qualquer lugar da tela , clica em TEXT , clica no text (interior) e Limpa com a tecla ESPAÇO...ou põe "" (como texto vazio)... então junta o SET LABELX.TEXT TO com este TEXT.

    OK?

    abraço e bom trabalho,

    Germinaro

    ResponderExcluir
  3. Olá amigo, poderia me ajudar sobre como criar um message box com notificação na barra de status do android ?
    Obrigado.

    ResponderExcluir