Baixe o app para aproveitar ainda mais
Prévia do material em texto
Roteiro ✔ IntentFilter ✔ BroadcastReceiver ✔ Notifications Intent Filter Responsável por interceptar as ações que são criadas através das intenções. Realiza o mapeamento para a execução das intenções. As vezes não sabemos qual activity irá abrir aquela inteção, então deixamos a responsabilidade para o intent filter encontrar a activity responsável pela execução. Não sei qual activity chamar A função do intent filtro agora é encontrar uma Activity que possa atender a essa solicitação, desde que esse filtro esteja configurado no arquivo AndroidManifest.xml Filtros de Intenções nada mais é do que um filtro de uma intent é quem decide se a mensagem daquela intent interessa ou não, em caso afirmativo a activity é executada. Configurando o Intent Filter Propriedades Descrição Android.intent.action.MAIN Usada para abrir uma activity como ponto de partida, se não só será chamada através do startActivity(); Android.intent.category.LAUNCHER Indica que essa activity é top-level e que pode ser executada pelo usuário na pela principal. Ação e Categoria de um Intent Filter Propriedade Descrição Ação Define o que a intent deseja realizar Categoria Utilizada em conjunto com a ação para descobrir o que a intent deseja realizar. Execução de Activity a partir de Ação Personalizada. BroadcastReceiver Características Sempre é executada em segundo plano, em curto espaço de tempo (10s) Não utiliza interface gráfica Processar intent sem que o usuário perceba Troca de mensagens entre aplicações sem que o usuário perceba Um BroadcastReceiver é um componente que é utlizado para que aplicações possam reagir a um determinado evento gerados por uma intent, uma mensagem enviada ao sistema operacional BroadcastReceiver A classe android.content.BroadcastRece iver é utilizada para responder determinados eventos enviados por uma intent, como executar determinada aplicação ao receber uma mensagem SMS, chamada telefônica... É utilizada a tag <receiver> no arquivo AndroidManifest.xml, em conjunto com um <intent- filter> para definir uma ação e categoria. Configurando o BroadcastReceiver Existem duas formas para configuração de um BradcastReceiver. De forma estática ou de forma dinâmica via API. De qualquer forma é necessário especificar um intent-filter. Propriedade Descrição AndroidManifest Inserir uma tag <receiver>. A tag <intent-filter> é utilizada para configurar qual a ação e categoria a classe deve ser executada. API Java Usar o método context.registerReceiver(receiver, filtro) dentro do código java. O primeiro parâmetro é uma instância da classe filha IntentReceiver e o segundo da classe IntentFilter. Diferença entre Intent e BroadcastReceiver Intent Abrir uma tela usa-se startActiviti(intent); Interação com usuário Tempo indeterminado BroadcastReceiver Para executar uma ação(mensagem) usa-se o método sendBroadcast(intent); Executa em segundo plano sem interação com o usuário Tempo curto de execução Ciclo de Vida: BroadcastReceiver O BroadcastReceiver só é válido durante a chamada do método onReceive(context, intent). Depois disso o sistema operacional encerrará seu processo para liberar memória. Logo depois o SO destroi o o BroadcastReceiver. Caso a execução da intent(mensagem) ultrapasse 10s o android exibe um ANR (Application Not Responding), ou seja, um timeout. Notification Notification Sempre que uma mensagem especial é exibida na barra de status do celular para chamar atenção é usada a classe android.app.Notification Usuário Decidi visualizar o conteúdo Ignorar a mensagem Exemplo de Notificação Se o usuário decidir em visualizar, a intent configurada é disparada para que seja possível abrir uma nova tela. Exemplos de Notificações são chats de msgs, chamada telefônica perdida, SMS... Criando uma notificação Continuando ... Executa a Notificação Fim Prof.: Ramon P.Araújo ramonespontes@gmail.com
Compartilhar