
Introdução
O Palm OS, a partir da versão 4.0, implementa um conjunto de funções API chamado Attention Manager, que nos permite chamar a atenção do usuário quando algum evento ocorre ou quando desejamos emitir alertas. As APIs do Attention Manager são utilizadas por todos os programas que utilizam o mecanismo de alarmes nativo do Palm OS, por exemplo, e um dos seus recursos mais interessantes, são os efeitos especiais de alerta.
Alertas Comuns
O Attention Manager possui suporte para os eventos mais comuns:
- Emitir Som
- Piscar o LED
- Vibrar
É importante notar que nem todos os PDAs possuem suporte à todos esses itens. Alguns PDAs não possuem o recurso vibrar, e outros não possuem LED (aquela pequena luz normalmente presente no botão Ligar/Desligar).
Conceito
A função API responsável por executar estes efeitos especiais é a sysTrapAttnDoSpecialEffects, que recebe um valor do tipo Long, que corresponde ao efeito (ou combinação de efeitos) que desejamos executar.
A função API sysTrapAttnDoSpecialEffects espera um dos valores abaixo:
&H0001- Emitir Som&H0002- Piscar LED&H0004- Vibrar
Ou ainda uma combinação desses valores, como por exemplo:
&H0003- Emitir Som e Piscar LED&H0005- Emitir Som e Vibrar&H0006- Piscar LED e Vibrar&H0007- Emitir Som, Piscar LED e Vibrar&HFFFF- Todos os efeitos existentes *
* Além dos efeitos existentes, podem ser implementados novos efeitos, dessa forma, o valor &HFFFF executaria todos os efeitos possíveis.
Programação
Assim, o primeiro passo é declarar a chamada da função API em um módulo, juntamente com as constantes contendo os valores correspondentes a cada efeito, de acordo código abaixo:
'Declaração da API AttnDoSpecialEffects do conjunto AttentionManager
Public Declare Sub AttnDoSpecialEffects (ByVal lValue As eAttnSpecialEffects) TRAP &HA42E
Public Enum eAttnSpecialEffects
'Emite um som
kAttnFlagsSoundBit = &H0001
'Pisca o LED, se o PDA possuir
kAttnFlagsLEDBit = &H0002
'Faz o PDA Vibrar, se o PDA permitir
kAttnFlagsVibrateBit = &H0004
'Utiliza todas as formas acima para chamar a atenção do usuário.
kAttnFlagsAllBits = &HFFFF
End Enum
Com a função API declarada no módulo, basta executá-la, passando os valores desejados por parâmetro:
'Emitir Som
Private Sub btnEmitirSom_Click()
'Emite um som de alerta
AttnDoSpecialEffects kAttnFlagsSoundBit
End Sub
'Piscar o LED
Private Sub btnPiscarLED_Click()
'Pisca o LED do PDA
AttnDoSpecialEffects kAttnFlagsLEDBit
End Sub
'Vibrar
Private Sub btnVibrar_Click()
'Faz o PDA Vibrar por alguns segundos
AttnDoSpecialEffects kAttnFlagsVibrateBit
End Sub
'Todos os Efeitos Possiveis
Private Sub btnTodosEfeitos_Click()
'Executa todos os efeitos de uma vez
'Emite Som, Pisca LED, Vibra e outros (se houvessem)
AttnDoSpecialEffects kAttnFlagsAllBits
End Sub
'Combinação: Piscar o LED e Vibrar
Private Sub btnVibrarEPiscar_Click()
'Pisca o LED do PDA e Vibra ao mesmo tempo
AttnDoSpecialEffects kAttnFlagsLEDBit + kAttnFlagsVibrateBit
End Sub
Histórico
- 02/05/2007 - Primeira versão deste artigo.
Sobre o Autor
Caio Proiete é Arquiteto de Soluções, especialista em desenvolvimento de softwares para PDAs e telefones celulares, principalmente nas plataformas Palm OS, Windows Mobile e Symbian OS.
Atualmente suas principais ferramentas/tecnologias de trabalho incluem CodeWarrior C++, Handheld Basic, eMbedded Visual C++, .NET Compact Framework, C# .NET, e Carbide.c++.
Possui extensa experiência em arquitetura e desenvolvimento de sistemas baseados em web e smart-clients, gerenciamento de projetos e treinamento, e atua também como instrutor oficial Microsoft em centros de treinamentos (CLPS), e é detentor das seguintes certificações:
- MCT - Microsoft Certified Trainer;
- MCSD - Microsoft Certified Solution Developer;
- MCDBA - Microsoft Certified Database Administrator;
- MCAD .NET - Microsoft Certified Application Developer;
- MCSD .NET - Microsoft Certified Solution Developer for .NET;
- MCTS - Microsoft Certified Technology Specialist for Windows Mobile.
Veja o todos os artigos publicados por Caio Proiete no PDAExpert.
Artigos Relacionados
- Não existem artigos relacionados
Nenhum comentário »
Comentários via RSS TrackBack URI



Envie seu comentário
ATENÇÃO: A área de comentários deve ser utilizada apenas para dúvidas sobre este artigo. Para dúvidas não relacionadas a este artigo, utilize o Fórum PDAExpert.net.