Programação de Dispositivos Móveis Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e Tecnologia do Maranhão
Objetivos Nesta aula iremos apresentar a classe. No android existem basicamente dois tipos de notificações. Elas podem ser feitas utilizando um Toast (que já utilizamos) ou a área de Notificação do sistema. Vamos entender como criar notificações que não sejam Toast. Nosso objetivo principal é aproximar o aluno do desenvolvimento de um aplicativo básico.
Plano de Aula O que é? Por que usar? Como criar? Considerações
O que é uma? Um, como o próprio nome diz é utilizada para exibir uma notificação ao usuário; Uma notificação é uma mensagem especial que comumente aparece na barra de status do celular para chamar a atenção do usuário; Ao receber uma notificação, o usuário pode: decidir visualizar seu conteúdo; ou simplesmente ignorar a mensagem. Se visualizar o conteúdo, a notificação pode disparar uma intent para iniciar diversos tipos de processos diferentes.
O que é uma? Com as novas versões do Android surgiram novos tipos de Notificações: Big View s: notificações com mais conteúdos e com possibilidades de botões customizados que aparecem na notificação; Head-up s: São notificações criadas a partir do Android 5.0 que aparecem no topo da tela, por cima de tudo. Inclusive na frente da tela de bloqueio. Aqui demonstraremos apenas as Notificações simples.
O que é uma? Um exemplo bem comum é o aviso de recebimento de novos e-mails no gmail ou de novas mensagens do Whatsapp.
Por que usar uma? Uma aplicação executando em segundo plano nunca deve exibir um alerta para o usuário, ou pior ainda, abrir uma tela sem a permissão do mesmo; Dessa forma, nossa aplicação não pode atrapalhar a atividade que o usuário está executando no momento; Para isso o Android tem a classe android.app., que deve ser utilizada para exibir notificações ao usuário; As notificações são ícones e mensagens que aparecem na barra de status do celular ou em frete a tela de bloqueio para chamar a atenção do usuário; Uma notificação pode inclusive fazer o celular vibrar ou acender as luzes;
Como criar uma? Para criar uma Notificação devemos realizar os seguintes passos: 1. Recuperar um Manager; 2. Configurar a ação que será executada ao clicar na notificação; 3. Configurar e construir a Notificação; 4. Disparar a notificação através de um Manager; Para criar uma notificação usaremos a classe.builder, que possui vários métodos utilitários para configurar um objeto do tipo. Como nem todos as funcionalidades das notificações existem em todas as versões do Android, foi criada a classe de compatibilidade Compat.Builder.
Como criar uma?
Considerações sobre o Código-Fonte Notificações no Android 3.x ou superior: O método setdefaults(), configura a notificação com um som padrão, ou faz vibrar o celular ou acende as luzes. Se você quiser usar todas ao mesmo tempo, deve usar a constante.default_all. Para usar o vibrar devemos ter a permissão android.permission.vibrate no arquivo de manifesto; É recomendado criar a PendingIntent com a flag FLAG_UPDATE_CURRENT, para que o Android sempre entregue uma intente atualizada ao receber a notificação; O método setautocancel() indica que depois de clicar na notificação ela será destruída (linha 12);
Considerações sobre Ao criar uma instância de PendingIntent usamos o método getactivity. Isto devido a nosso objetivo ser acionar uma Activity. No entanto podemos também chamar os métodos getbroadcast (para acionar um BroadcastReceiver) ou getservice (para acionar um Service); A classe Manager, tem dois métodos importantes: notify (int id, notificação) e cancel (int id); O método notify() dispara a notificação; O método cancel() destrói a notificação;
Dúvidas Página do Professor Mauro: http://www.dai.ifma.edu.br/~mlcsilva
Próxima Aula Segunda Avaliação.
Referências Google Android: aprenda a criar aplicações para dispositivos móveis com o Android SDK - Ricardo R. Lacheta, São Paulo: Novatec, 2010. Sites: http://androidzin.blogspot.com.br/2012/10/notificacoes.html