SlideShare une entreprise Scribd logo
1  sur  15
Télécharger pour lire hors ligne
Intent, Broadcast
Receiver e Notifications


Gustavo Henrique Rodrigues Pinto Tomas
    gustavo.rodrigues@cesar.org.br
Agenda
• Intent
      – Intent Filter
      – Desafio 1
      – Desafio 2
• Broadcast Receiver
      – Desafio 3
• Notifications
      – Desafio 4




16/02/2012                       2
Intent
• Comunicação de activities, services e broadcast
  receiver;
• Inicia apenas uma ação;
• Falicita a comunicação em uma mesma
  aplicação e entre aplicações;
• Envia e recebe dados (tipos primitivos, objetos
  serializáveis...).




16/02/2012                                          3
Intent(2)
• Exemplo:
      Intent it = new Intent(this, ViewFormActivity.class);

      it.putExtra(ViewFormActivity.NAME_INTENT, name);
      it.putExtra(ViewFormActivity.ADDRESS_INTENT, adress);
      it.putExtra(ViewFormActivity.AGE_INTENT, age);
      it.putExtra(ViewFormActivity.USER_INTENT, user);

      startActivity(it);

             Boas Práticas: Ao setar a key em um método putExtra, utilize
             sempre constantes definidas como public na activity de
             destino



16/02/2012                                                                  4
Intent(3)
• Utilizando intents é possível invocar outras
  aplicações através das respectivas actions.
• Exemplos:
      – Intent.ACTION_CALL: faz uma ligação;
      – Intent.ACTION_DIAL: abre o aplicativo default de dial;
      – Intent.ACTION_MAIN:
             • CATEGORY_APP_EMAIL: abre o aplicativo de email;
             • CATEGORY_APP_BROWSER: abre o browser;
             • ATEGORY_APP_CONTACTS abre o aplicativo de calendario;




16/02/2012                                                             5
Intent Filter
• Mecanismo alternativo de invocar uma activity:
 <activity
      android:name=“MInhaActivity"
      android:label="@string/app_name" >
      <intent-filter>
         <action android:name=“ABRA_MINHA_ACTIVITY" />
         <category android:name="android.intent.category.DEFAULT" />
      </intent-filter>
 </activity>

• Android fica ouvindo um intent com a ação
  ABRA_MINHA_ACTIVITY.Assim que receber
  invocará MinhaActivity.

16/02/2012                                                             6
Desafio 1 - Intent
• Criar uma aplicação com duas telas:
      – A primeira será um formulário com os campos nome, endereço e
        idade com um botão “Enviar”. Quando o usuário clicar no botão
        as informações devem ser enviadas para a segunda activity;
      – A segunda activity deve apenas receber os dados e exibir na
        tela;



             Boas Práticas: Ao definir o id de um componente, utilize:
             android:id=“@+idNOMEDESCRITIVO/...” na qual
             NOMEDESCRITIVO pode ser um label para a activity



16/02/2012                                                               7
Desafio 2: Intent
• Alterar a aplicação anterior para enviar as
  informações a partir de uma classe chamada
  Form, com as informações do formulário.




             Através de um intent é possível enviar objetos serializáveis




16/02/2012                                                                  8
BroadCast Receiver
• Permitir que a sua aplicação fique “ouvindo”
  intents iniciados por qualquer aplicativo;
• Declaração no AndroidManifest.xml:
</application>
    <receiver android:name="ReceiverSample">
        <intent-filter>
            <action
              android:name="android.intent.action.PHONE_STATE“ />
        </intent-filter>
    </receiver>
</application>
<uses-permission android:name="android.permission.CALL_PHONE"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>



16/02/2012                                                              9
BroadCast Receiver
• Quanto algum aplicativo enviar um intent do tipo
  PHONE_STATE, será chamado o método
  onReceive() da classe ReceiverSample;
• ReceiverSample deve estender de
  BroadcastReceiver;

public class ReceiverSample extends BroadcastReceiver {
   @Override
   public void onReceive(Context context, Intent intent) {
   }
}



16/02/2012                                                   10
Desafio 3: Broadcast Receiver
• Alterar a aplicação Formulário para ao receber
  uma chamada telefônica, interceptar e logar o
  numero do telefone que esta ligando;




             Não se esquece de declarar a permissão de
             android.permission.READ_PHONE_STATE para ler as
             alterações de estado do telefone




16/02/2012                                                     11
Notifications
• Mecanismo de feedback imediato ao usuário;
• Utilizado quando algum processamento em
  background precisa de alguma iteração com o
  usuário;
• Mais utilizado: Status Bar




16/02/2012                                      12
Notifications: Status Bar
String ns = Context.NOTIFICATION_SERVICE;
NotificationManager mNotificationManager = (NotificationManager)
   getSystemService(ns);

CharSequence tickerText = "New call captured";

Notification notification = new Notification(R.drawable.ic_launcher,
   tickerText, when);

CharSequence contentTitle = "Phone Number";
CharSequence contentText = “Content message”;
Intent notificationIntent = new Intent(this, FormAPKActivity.class);
PendingIntent contentIntent = PendingIntent.getActivity(c, 0,
   notificationIntent, 0);

notification.setLatestEventInfo(this, contentTitle, contentText,
   contentIntent);

mNotificationManager.notify(HELLO_ID, notification);



16/02/2012                                                             13
Desafio 4: Status Bar
• Alterar a aplicação desenvolvida para assim que
  receber uma ligação notificar o usuário usando
  Status Bar com o número de telefone;




             Utilize o BroadcastReceiver criado no desafio anterior.




16/02/2012                                                             14
Obrigado!

         Gustavo Henrique Rodrigues Pinto Tomas
          Email: gustavo.rodrigues@cesar.org.br
                Twitter: @gustahrodrigues

    Código fonte disponível em: http://bit.ly/xGrlTW




16/02/2012                                             15

Contenu connexe

Tendances

Desenvolvimento de Apps e Games para Android - Parte 5
Desenvolvimento de Apps e Games para Android - Parte 5Desenvolvimento de Apps e Games para Android - Parte 5
Desenvolvimento de Apps e Games para Android - Parte 5Erisvaldo Junior
 
Apresentacao android por Júlio Cesar Bueno Cotta
Apresentacao android por Júlio Cesar Bueno CottaApresentacao android por Júlio Cesar Bueno Cotta
Apresentacao android por Júlio Cesar Bueno CottaGPrimola
 
Introdução ao Android (minicurso 4h)
Introdução ao Android (minicurso 4h)Introdução ao Android (minicurso 4h)
Introdução ao Android (minicurso 4h)Rodrigo Rocha
 
Aula 05/06 (Service)
Aula 05/06 (Service)Aula 05/06 (Service)
Aula 05/06 (Service)Ricardo Longa
 
Computação Móvel 2012.2 - Android
Computação Móvel 2012.2 - AndroidComputação Móvel 2012.2 - Android
Computação Móvel 2012.2 - AndroidTiago Bencardino
 
Android - Programação para dispositivos móveis (Aula 2)
Android - Programação para dispositivos móveis (Aula 2)Android - Programação para dispositivos móveis (Aula 2)
Android - Programação para dispositivos móveis (Aula 2)Ricardo Longa
 
Minicurso Android Ronildo Oliveira
Minicurso Android  Ronildo OliveiraMinicurso Android  Ronildo Oliveira
Minicurso Android Ronildo OliveiraRonildo Oliveira
 
Curso de Android - aula 2
Curso de Android - aula 2Curso de Android - aula 2
Curso de Android - aula 2Jose Berardo
 
Desenvolvendo para Android
Desenvolvendo para AndroidDesenvolvendo para Android
Desenvolvendo para AndroidClaudio Pereira
 
Aula05 android persistencia
Aula05 android persistenciaAula05 android persistencia
Aula05 android persistenciaRoberson Alves
 
Java programação orientada a objetos
Java   programação orientada a objetosJava   programação orientada a objetos
Java programação orientada a objetosPaulo Carvalho
 
Introdução ao desenvolvimento de apps para Android - Dia 2/2
Introdução ao desenvolvimento de apps para Android - Dia 2/2Introdução ao desenvolvimento de apps para Android - Dia 2/2
Introdução ao desenvolvimento de apps para Android - Dia 2/2Matheus Calegaro
 

Tendances (19)

Desenvolvimento de Apps e Games para Android - Parte 5
Desenvolvimento de Apps e Games para Android - Parte 5Desenvolvimento de Apps e Games para Android - Parte 5
Desenvolvimento de Apps e Games para Android - Parte 5
 
Apresentacao android por Júlio Cesar Bueno Cotta
Apresentacao android por Júlio Cesar Bueno CottaApresentacao android por Júlio Cesar Bueno Cotta
Apresentacao android por Júlio Cesar Bueno Cotta
 
Fragmentos
FragmentosFragmentos
Fragmentos
 
Introdução ao Android (minicurso 4h)
Introdução ao Android (minicurso 4h)Introdução ao Android (minicurso 4h)
Introdução ao Android (minicurso 4h)
 
Android Aula 5
Android Aula 5Android Aula 5
Android Aula 5
 
Aula 05/06 (Service)
Aula 05/06 (Service)Aula 05/06 (Service)
Aula 05/06 (Service)
 
Computação Móvel 2012.2 - Android
Computação Móvel 2012.2 - AndroidComputação Móvel 2012.2 - Android
Computação Móvel 2012.2 - Android
 
Android - Programação para dispositivos móveis (Aula 2)
Android - Programação para dispositivos móveis (Aula 2)Android - Programação para dispositivos móveis (Aula 2)
Android - Programação para dispositivos móveis (Aula 2)
 
J query basico
J query basicoJ query basico
J query basico
 
Minicurso Android Ronildo Oliveira
Minicurso Android  Ronildo OliveiraMinicurso Android  Ronildo Oliveira
Minicurso Android Ronildo Oliveira
 
Plataforma Android
Plataforma AndroidPlataforma Android
Plataforma Android
 
POO - 21 - Java e Banco de Dados
POO - 21 - Java e Banco de DadosPOO - 21 - Java e Banco de Dados
POO - 21 - Java e Banco de Dados
 
Java swing
Java swingJava swing
Java swing
 
Curso de Android - aula 2
Curso de Android - aula 2Curso de Android - aula 2
Curso de Android - aula 2
 
Desenvolvendo para Android
Desenvolvendo para AndroidDesenvolvendo para Android
Desenvolvendo para Android
 
Mvc delphi
Mvc delphiMvc delphi
Mvc delphi
 
Aula05 android persistencia
Aula05 android persistenciaAula05 android persistencia
Aula05 android persistencia
 
Java programação orientada a objetos
Java   programação orientada a objetosJava   programação orientada a objetos
Java programação orientada a objetos
 
Introdução ao desenvolvimento de apps para Android - Dia 2/2
Introdução ao desenvolvimento de apps para Android - Dia 2/2Introdução ao desenvolvimento de apps para Android - Dia 2/2
Introdução ao desenvolvimento de apps para Android - Dia 2/2
 

Similaire à Intent, Broadcast Receiver e Notifications

Android app communication
Android app communicationAndroid app communication
Android app communicationEloi Júnior
 
Curso de Android Aula 4
Curso de Android Aula 4Curso de Android Aula 4
Curso de Android Aula 4Jose Berardo
 
Curso de android
Curso de androidCurso de android
Curso de androidflaviokreis
 
Android exemplo-calculadora
Android exemplo-calculadoraAndroid exemplo-calculadora
Android exemplo-calculadoraRui Nunes
 
Primeiros passos para o novo desenvolvedor android
Primeiros passos para o novo desenvolvedor androidPrimeiros passos para o novo desenvolvedor android
Primeiros passos para o novo desenvolvedor androidMessias Batista
 
Aula 03 - Trabalhando com Intents, datePicker e Classes de terceiros
Aula 03 - Trabalhando com Intents, datePicker e Classes de terceirosAula 03 - Trabalhando com Intents, datePicker e Classes de terceiros
Aula 03 - Trabalhando com Intents, datePicker e Classes de terceirosHelton Ritter
 
Cloud 2 Device Message Framework - AndroidRec
Cloud 2 Device Message Framework - AndroidRecCloud 2 Device Message Framework - AndroidRec
Cloud 2 Device Message Framework - AndroidRecAntonio Marin Neto
 
google maps api - v1
 google maps api - v1 google maps api - v1
google maps api - v1Lucas Aquiles
 
Android Wear: Expandindo as funcionalidades do seu Android
Android Wear: Expandindo as funcionalidades do seu AndroidAndroid Wear: Expandindo as funcionalidades do seu Android
Android Wear: Expandindo as funcionalidades do seu AndroidHeider Lopes
 
SESTINFO 2011 Apresentacao Android
SESTINFO 2011 Apresentacao AndroidSESTINFO 2011 Apresentacao Android
SESTINFO 2011 Apresentacao AndroidRafael Sakurai
 
Desenvolvimento android p2
Desenvolvimento android p2Desenvolvimento android p2
Desenvolvimento android p2George Nunes
 
Desenvolvimento de Aplicações para Dispositivos Móveis - Android Studio - Par...
Desenvolvimento de Aplicações para Dispositivos Móveis - Android Studio - Par...Desenvolvimento de Aplicações para Dispositivos Móveis - Android Studio - Par...
Desenvolvimento de Aplicações para Dispositivos Móveis - Android Studio - Par...Elmano Cavalcanti
 
Techdays 2010 - Monetizing Windows Phone applications
Techdays 2010 - Monetizing Windows Phone applicationsTechdays 2010 - Monetizing Windows Phone applications
Techdays 2010 - Monetizing Windows Phone applicationsNuno Luz
 
Phonegap - Framework Mobile
Phonegap - Framework MobilePhonegap - Framework Mobile
Phonegap - Framework MobileIldyone Martins
 
Android26.05
Android26.05Android26.05
Android26.05guisester
 

Similaire à Intent, Broadcast Receiver e Notifications (20)

Android app communication
Android app communicationAndroid app communication
Android app communication
 
Curso de Android Aula 4
Curso de Android Aula 4Curso de Android Aula 4
Curso de Android Aula 4
 
Curso de android
Curso de androidCurso de android
Curso de android
 
Android Aula 3
Android Aula 3Android Aula 3
Android Aula 3
 
Android exemplo-calculadora
Android exemplo-calculadoraAndroid exemplo-calculadora
Android exemplo-calculadora
 
Primeiros passos para o novo desenvolvedor android
Primeiros passos para o novo desenvolvedor androidPrimeiros passos para o novo desenvolvedor android
Primeiros passos para o novo desenvolvedor android
 
Aula 03 - Trabalhando com Intents, datePicker e Classes de terceiros
Aula 03 - Trabalhando com Intents, datePicker e Classes de terceirosAula 03 - Trabalhando com Intents, datePicker e Classes de terceiros
Aula 03 - Trabalhando com Intents, datePicker e Classes de terceiros
 
Cloud 2 Device Message Framework - AndroidRec
Cloud 2 Device Message Framework - AndroidRecCloud 2 Device Message Framework - AndroidRec
Cloud 2 Device Message Framework - AndroidRec
 
google maps api - v1
 google maps api - v1 google maps api - v1
google maps api - v1
 
Android Wear: Expandindo as funcionalidades do seu Android
Android Wear: Expandindo as funcionalidades do seu AndroidAndroid Wear: Expandindo as funcionalidades do seu Android
Android Wear: Expandindo as funcionalidades do seu Android
 
Apostilaandroidfatecnormal
ApostilaandroidfatecnormalApostilaandroidfatecnormal
Apostilaandroidfatecnormal
 
Apresentação Google Android
Apresentação Google AndroidApresentação Google Android
Apresentação Google Android
 
SESTINFO 2011 Apresentacao Android
SESTINFO 2011 Apresentacao AndroidSESTINFO 2011 Apresentacao Android
SESTINFO 2011 Apresentacao Android
 
Desenvolvimento android p2
Desenvolvimento android p2Desenvolvimento android p2
Desenvolvimento android p2
 
Desenvolvimento de Aplicações para Dispositivos Móveis - Android Studio - Par...
Desenvolvimento de Aplicações para Dispositivos Móveis - Android Studio - Par...Desenvolvimento de Aplicações para Dispositivos Móveis - Android Studio - Par...
Desenvolvimento de Aplicações para Dispositivos Móveis - Android Studio - Par...
 
Techdays 2010 - Monetizing Windows Phone applications
Techdays 2010 - Monetizing Windows Phone applicationsTechdays 2010 - Monetizing Windows Phone applications
Techdays 2010 - Monetizing Windows Phone applications
 
Introdução ao Android
Introdução ao AndroidIntrodução ao Android
Introdução ao Android
 
Phonegap - Framework Mobile
Phonegap - Framework MobilePhonegap - Framework Mobile
Phonegap - Framework Mobile
 
Android26.05
Android26.05Android26.05
Android26.05
 
Curso Básico Android - Aula 05
Curso Básico Android - Aula 05Curso Básico Android - Aula 05
Curso Básico Android - Aula 05
 

Plus de Gustavo Henrique Rodrigues Pinto Tomas

Plus de Gustavo Henrique Rodrigues Pinto Tomas (7)

[Status Report 11/06] Uma arquitetura para Smart Cities baseada na Internet o...
[Status Report 11/06] Uma arquitetura para Smart Cities baseada na Internet o...[Status Report 11/06] Uma arquitetura para Smart Cities baseada na Internet o...
[Status Report 11/06] Uma arquitetura para Smart Cities baseada na Internet o...
 
O que o mercado espera de um [recém formado | formando]?
O que o mercado espera de um [recém formado | formando]?O que o mercado espera de um [recém formado | formando]?
O que o mercado espera de um [recém formado | formando]?
 
Uma arquitetura para Smart Cities baseada em Internet of Things - Status Report
Uma arquitetura para Smart Cities baseada em Internet of Things - Status ReportUma arquitetura para Smart Cities baseada em Internet of Things - Status Report
Uma arquitetura para Smart Cities baseada em Internet of Things - Status Report
 
Internet of Things and Smart Cities
Internet of Things and Smart CitiesInternet of Things and Smart Cities
Internet of Things and Smart Cities
 
Avaliacao de particao vs avaliacao de clusters wci 2010
Avaliacao de particao vs avaliacao de clusters  wci 2010Avaliacao de particao vs avaliacao de clusters  wci 2010
Avaliacao de particao vs avaliacao de clusters wci 2010
 
Eucalyptus uma plataforma de cloud computing para qualquer tipo de usuário - ...
Eucalyptus uma plataforma de cloud computing para qualquer tipo de usuário - ...Eucalyptus uma plataforma de cloud computing para qualquer tipo de usuário - ...
Eucalyptus uma plataforma de cloud computing para qualquer tipo de usuário - ...
 
Eucalyptus uma plataforma de cloud computing para qualquer tipo de usuário
Eucalyptus uma plataforma de cloud computing para qualquer tipo de usuárioEucalyptus uma plataforma de cloud computing para qualquer tipo de usuário
Eucalyptus uma plataforma de cloud computing para qualquer tipo de usuário
 

Dernier

QUIZ – GEOGRAFIA - 8º ANO - PROVA MENSAL.pptx
QUIZ – GEOGRAFIA - 8º ANO - PROVA MENSAL.pptxQUIZ – GEOGRAFIA - 8º ANO - PROVA MENSAL.pptx
QUIZ – GEOGRAFIA - 8º ANO - PROVA MENSAL.pptxAntonioVieira539017
 
Aula 1, 2 Bacterias Características e Morfologia.pptx
Aula 1, 2  Bacterias Características e Morfologia.pptxAula 1, 2  Bacterias Características e Morfologia.pptx
Aula 1, 2 Bacterias Características e Morfologia.pptxpamelacastro71
 
6°ano Uso de pontuação e acentuação.pptx
6°ano Uso de pontuação e acentuação.pptx6°ano Uso de pontuação e acentuação.pptx
6°ano Uso de pontuação e acentuação.pptxErivaldoLima15
 
Revolução Industrial - Revolução Industrial .pptx
Revolução Industrial - Revolução Industrial .pptxRevolução Industrial - Revolução Industrial .pptx
Revolução Industrial - Revolução Industrial .pptxHlioMachado1
 
Slides Lição 2, Central Gospel, A Volta Do Senhor Jesus , 1Tr24.pptx
Slides Lição 2, Central Gospel, A Volta Do Senhor Jesus , 1Tr24.pptxSlides Lição 2, Central Gospel, A Volta Do Senhor Jesus , 1Tr24.pptx
Slides Lição 2, Central Gospel, A Volta Do Senhor Jesus , 1Tr24.pptxLuizHenriquedeAlmeid6
 
19 de abril - Dia dos povos indigenas brasileiros
19 de abril - Dia dos povos indigenas brasileiros19 de abril - Dia dos povos indigenas brasileiros
19 de abril - Dia dos povos indigenas brasileirosMary Alvarenga
 
Mini livro sanfona - Povos Indigenas Brasileiros
Mini livro sanfona  - Povos Indigenas BrasileirosMini livro sanfona  - Povos Indigenas Brasileiros
Mini livro sanfona - Povos Indigenas BrasileirosMary Alvarenga
 
Slides Lição 3, CPAD, O Céu - o Destino do Cristão, 2Tr24,.pptx
Slides Lição 3, CPAD, O Céu - o Destino do Cristão, 2Tr24,.pptxSlides Lição 3, CPAD, O Céu - o Destino do Cristão, 2Tr24,.pptx
Slides Lição 3, CPAD, O Céu - o Destino do Cristão, 2Tr24,.pptxLuizHenriquedeAlmeid6
 
Junto ao poço estava eu Quando um homem judeu Viu a sede que havia em mim
Junto ao poço estava eu Quando um homem judeu Viu a sede que havia em mimJunto ao poço estava eu Quando um homem judeu Viu a sede que havia em mim
Junto ao poço estava eu Quando um homem judeu Viu a sede que havia em mimWashingtonSampaio5
 
DIGNITAS INFINITA - DIGNIDADE HUMANA -Declaração do Dicastério para a Doutrin...
DIGNITAS INFINITA - DIGNIDADE HUMANA -Declaração do Dicastério para a Doutrin...DIGNITAS INFINITA - DIGNIDADE HUMANA -Declaração do Dicastério para a Doutrin...
DIGNITAS INFINITA - DIGNIDADE HUMANA -Declaração do Dicastério para a Doutrin...Martin M Flynn
 
organizaao-do-clube-de-lideres-ctd-aamar_compress.pdf
organizaao-do-clube-de-lideres-ctd-aamar_compress.pdforganizaao-do-clube-de-lideres-ctd-aamar_compress.pdf
organizaao-do-clube-de-lideres-ctd-aamar_compress.pdfCarlosRodrigues832670
 
v19n2s3a25.pdfgcbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
v19n2s3a25.pdfgcbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbv19n2s3a25.pdfgcbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
v19n2s3a25.pdfgcbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbyasminlarissa371
 
Gametogênese, formação dos gametas masculino e feminino
Gametogênese, formação dos gametas masculino e femininoGametogênese, formação dos gametas masculino e feminino
Gametogênese, formação dos gametas masculino e femininoCelianeOliveira8
 
Slide de exemplo sobre o Sítio do Pica Pau Amarelo.pptx
Slide de exemplo sobre o Sítio do Pica Pau Amarelo.pptxSlide de exemplo sobre o Sítio do Pica Pau Amarelo.pptx
Slide de exemplo sobre o Sítio do Pica Pau Amarelo.pptxconcelhovdragons
 
O guia definitivo para conquistar a aprovação em concurso público.pdf
O guia definitivo para conquistar a aprovação em concurso público.pdfO guia definitivo para conquistar a aprovação em concurso público.pdf
O guia definitivo para conquistar a aprovação em concurso público.pdfErasmo Portavoz
 
TREINAMENTO - BOAS PRATICAS DE HIGIENE NA COZINHA.ppt
TREINAMENTO - BOAS PRATICAS DE HIGIENE NA COZINHA.pptTREINAMENTO - BOAS PRATICAS DE HIGIENE NA COZINHA.ppt
TREINAMENTO - BOAS PRATICAS DE HIGIENE NA COZINHA.pptAlineSilvaPotuk
 
parte indígena.pptxzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz
parte indígena.pptxzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzparte indígena.pptxzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz
parte indígena.pptxzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzAlexandrePereira818171
 
Sistema de Bibliotecas UCS - A descoberta da terra
Sistema de Bibliotecas UCS  - A descoberta da terraSistema de Bibliotecas UCS  - A descoberta da terra
Sistema de Bibliotecas UCS - A descoberta da terraBiblioteca UCS
 
AVALIAÇÃO INTEGRADA 1ª SÉRIE - EM - 1º BIMESTRE ITINERÁRIO CIÊNCIAS DAS NATUREZA
AVALIAÇÃO INTEGRADA 1ª SÉRIE - EM - 1º BIMESTRE ITINERÁRIO CIÊNCIAS DAS NATUREZAAVALIAÇÃO INTEGRADA 1ª SÉRIE - EM - 1º BIMESTRE ITINERÁRIO CIÊNCIAS DAS NATUREZA
AVALIAÇÃO INTEGRADA 1ª SÉRIE - EM - 1º BIMESTRE ITINERÁRIO CIÊNCIAS DAS NATUREZAEdioFnaf
 
Orientações para a análise do poema Orfeu Rebelde.pptx
Orientações para a análise do poema Orfeu Rebelde.pptxOrientações para a análise do poema Orfeu Rebelde.pptx
Orientações para a análise do poema Orfeu Rebelde.pptxJMTCS
 

Dernier (20)

QUIZ – GEOGRAFIA - 8º ANO - PROVA MENSAL.pptx
QUIZ – GEOGRAFIA - 8º ANO - PROVA MENSAL.pptxQUIZ – GEOGRAFIA - 8º ANO - PROVA MENSAL.pptx
QUIZ – GEOGRAFIA - 8º ANO - PROVA MENSAL.pptx
 
Aula 1, 2 Bacterias Características e Morfologia.pptx
Aula 1, 2  Bacterias Características e Morfologia.pptxAula 1, 2  Bacterias Características e Morfologia.pptx
Aula 1, 2 Bacterias Características e Morfologia.pptx
 
6°ano Uso de pontuação e acentuação.pptx
6°ano Uso de pontuação e acentuação.pptx6°ano Uso de pontuação e acentuação.pptx
6°ano Uso de pontuação e acentuação.pptx
 
Revolução Industrial - Revolução Industrial .pptx
Revolução Industrial - Revolução Industrial .pptxRevolução Industrial - Revolução Industrial .pptx
Revolução Industrial - Revolução Industrial .pptx
 
Slides Lição 2, Central Gospel, A Volta Do Senhor Jesus , 1Tr24.pptx
Slides Lição 2, Central Gospel, A Volta Do Senhor Jesus , 1Tr24.pptxSlides Lição 2, Central Gospel, A Volta Do Senhor Jesus , 1Tr24.pptx
Slides Lição 2, Central Gospel, A Volta Do Senhor Jesus , 1Tr24.pptx
 
19 de abril - Dia dos povos indigenas brasileiros
19 de abril - Dia dos povos indigenas brasileiros19 de abril - Dia dos povos indigenas brasileiros
19 de abril - Dia dos povos indigenas brasileiros
 
Mini livro sanfona - Povos Indigenas Brasileiros
Mini livro sanfona  - Povos Indigenas BrasileirosMini livro sanfona  - Povos Indigenas Brasileiros
Mini livro sanfona - Povos Indigenas Brasileiros
 
Slides Lição 3, CPAD, O Céu - o Destino do Cristão, 2Tr24,.pptx
Slides Lição 3, CPAD, O Céu - o Destino do Cristão, 2Tr24,.pptxSlides Lição 3, CPAD, O Céu - o Destino do Cristão, 2Tr24,.pptx
Slides Lição 3, CPAD, O Céu - o Destino do Cristão, 2Tr24,.pptx
 
Junto ao poço estava eu Quando um homem judeu Viu a sede que havia em mim
Junto ao poço estava eu Quando um homem judeu Viu a sede que havia em mimJunto ao poço estava eu Quando um homem judeu Viu a sede que havia em mim
Junto ao poço estava eu Quando um homem judeu Viu a sede que havia em mim
 
DIGNITAS INFINITA - DIGNIDADE HUMANA -Declaração do Dicastério para a Doutrin...
DIGNITAS INFINITA - DIGNIDADE HUMANA -Declaração do Dicastério para a Doutrin...DIGNITAS INFINITA - DIGNIDADE HUMANA -Declaração do Dicastério para a Doutrin...
DIGNITAS INFINITA - DIGNIDADE HUMANA -Declaração do Dicastério para a Doutrin...
 
organizaao-do-clube-de-lideres-ctd-aamar_compress.pdf
organizaao-do-clube-de-lideres-ctd-aamar_compress.pdforganizaao-do-clube-de-lideres-ctd-aamar_compress.pdf
organizaao-do-clube-de-lideres-ctd-aamar_compress.pdf
 
v19n2s3a25.pdfgcbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
v19n2s3a25.pdfgcbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbv19n2s3a25.pdfgcbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
v19n2s3a25.pdfgcbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
 
Gametogênese, formação dos gametas masculino e feminino
Gametogênese, formação dos gametas masculino e femininoGametogênese, formação dos gametas masculino e feminino
Gametogênese, formação dos gametas masculino e feminino
 
Slide de exemplo sobre o Sítio do Pica Pau Amarelo.pptx
Slide de exemplo sobre o Sítio do Pica Pau Amarelo.pptxSlide de exemplo sobre o Sítio do Pica Pau Amarelo.pptx
Slide de exemplo sobre o Sítio do Pica Pau Amarelo.pptx
 
O guia definitivo para conquistar a aprovação em concurso público.pdf
O guia definitivo para conquistar a aprovação em concurso público.pdfO guia definitivo para conquistar a aprovação em concurso público.pdf
O guia definitivo para conquistar a aprovação em concurso público.pdf
 
TREINAMENTO - BOAS PRATICAS DE HIGIENE NA COZINHA.ppt
TREINAMENTO - BOAS PRATICAS DE HIGIENE NA COZINHA.pptTREINAMENTO - BOAS PRATICAS DE HIGIENE NA COZINHA.ppt
TREINAMENTO - BOAS PRATICAS DE HIGIENE NA COZINHA.ppt
 
parte indígena.pptxzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz
parte indígena.pptxzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzparte indígena.pptxzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz
parte indígena.pptxzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz
 
Sistema de Bibliotecas UCS - A descoberta da terra
Sistema de Bibliotecas UCS  - A descoberta da terraSistema de Bibliotecas UCS  - A descoberta da terra
Sistema de Bibliotecas UCS - A descoberta da terra
 
AVALIAÇÃO INTEGRADA 1ª SÉRIE - EM - 1º BIMESTRE ITINERÁRIO CIÊNCIAS DAS NATUREZA
AVALIAÇÃO INTEGRADA 1ª SÉRIE - EM - 1º BIMESTRE ITINERÁRIO CIÊNCIAS DAS NATUREZAAVALIAÇÃO INTEGRADA 1ª SÉRIE - EM - 1º BIMESTRE ITINERÁRIO CIÊNCIAS DAS NATUREZA
AVALIAÇÃO INTEGRADA 1ª SÉRIE - EM - 1º BIMESTRE ITINERÁRIO CIÊNCIAS DAS NATUREZA
 
Orientações para a análise do poema Orfeu Rebelde.pptx
Orientações para a análise do poema Orfeu Rebelde.pptxOrientações para a análise do poema Orfeu Rebelde.pptx
Orientações para a análise do poema Orfeu Rebelde.pptx
 

Intent, Broadcast Receiver e Notifications

  • 1. Intent, Broadcast Receiver e Notifications Gustavo Henrique Rodrigues Pinto Tomas gustavo.rodrigues@cesar.org.br
  • 2. Agenda • Intent – Intent Filter – Desafio 1 – Desafio 2 • Broadcast Receiver – Desafio 3 • Notifications – Desafio 4 16/02/2012 2
  • 3. Intent • Comunicação de activities, services e broadcast receiver; • Inicia apenas uma ação; • Falicita a comunicação em uma mesma aplicação e entre aplicações; • Envia e recebe dados (tipos primitivos, objetos serializáveis...). 16/02/2012 3
  • 4. Intent(2) • Exemplo: Intent it = new Intent(this, ViewFormActivity.class); it.putExtra(ViewFormActivity.NAME_INTENT, name); it.putExtra(ViewFormActivity.ADDRESS_INTENT, adress); it.putExtra(ViewFormActivity.AGE_INTENT, age); it.putExtra(ViewFormActivity.USER_INTENT, user); startActivity(it); Boas Práticas: Ao setar a key em um método putExtra, utilize sempre constantes definidas como public na activity de destino 16/02/2012 4
  • 5. Intent(3) • Utilizando intents é possível invocar outras aplicações através das respectivas actions. • Exemplos: – Intent.ACTION_CALL: faz uma ligação; – Intent.ACTION_DIAL: abre o aplicativo default de dial; – Intent.ACTION_MAIN: • CATEGORY_APP_EMAIL: abre o aplicativo de email; • CATEGORY_APP_BROWSER: abre o browser; • ATEGORY_APP_CONTACTS abre o aplicativo de calendario; 16/02/2012 5
  • 6. Intent Filter • Mecanismo alternativo de invocar uma activity: <activity android:name=“MInhaActivity" android:label="@string/app_name" > <intent-filter> <action android:name=“ABRA_MINHA_ACTIVITY" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> </activity> • Android fica ouvindo um intent com a ação ABRA_MINHA_ACTIVITY.Assim que receber invocará MinhaActivity. 16/02/2012 6
  • 7. Desafio 1 - Intent • Criar uma aplicação com duas telas: – A primeira será um formulário com os campos nome, endereço e idade com um botão “Enviar”. Quando o usuário clicar no botão as informações devem ser enviadas para a segunda activity; – A segunda activity deve apenas receber os dados e exibir na tela; Boas Práticas: Ao definir o id de um componente, utilize: android:id=“@+idNOMEDESCRITIVO/...” na qual NOMEDESCRITIVO pode ser um label para a activity 16/02/2012 7
  • 8. Desafio 2: Intent • Alterar a aplicação anterior para enviar as informações a partir de uma classe chamada Form, com as informações do formulário. Através de um intent é possível enviar objetos serializáveis 16/02/2012 8
  • 9. BroadCast Receiver • Permitir que a sua aplicação fique “ouvindo” intents iniciados por qualquer aplicativo; • Declaração no AndroidManifest.xml: </application> <receiver android:name="ReceiverSample"> <intent-filter> <action android:name="android.intent.action.PHONE_STATE“ /> </intent-filter> </receiver> </application> <uses-permission android:name="android.permission.CALL_PHONE"/> <uses-permission android:name="android.permission.READ_PHONE_STATE"/> 16/02/2012 9
  • 10. BroadCast Receiver • Quanto algum aplicativo enviar um intent do tipo PHONE_STATE, será chamado o método onReceive() da classe ReceiverSample; • ReceiverSample deve estender de BroadcastReceiver; public class ReceiverSample extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { } } 16/02/2012 10
  • 11. Desafio 3: Broadcast Receiver • Alterar a aplicação Formulário para ao receber uma chamada telefônica, interceptar e logar o numero do telefone que esta ligando; Não se esquece de declarar a permissão de android.permission.READ_PHONE_STATE para ler as alterações de estado do telefone 16/02/2012 11
  • 12. Notifications • Mecanismo de feedback imediato ao usuário; • Utilizado quando algum processamento em background precisa de alguma iteração com o usuário; • Mais utilizado: Status Bar 16/02/2012 12
  • 13. Notifications: Status Bar String ns = Context.NOTIFICATION_SERVICE; NotificationManager mNotificationManager = (NotificationManager) getSystemService(ns); CharSequence tickerText = "New call captured"; Notification notification = new Notification(R.drawable.ic_launcher, tickerText, when); CharSequence contentTitle = "Phone Number"; CharSequence contentText = “Content message”; Intent notificationIntent = new Intent(this, FormAPKActivity.class); PendingIntent contentIntent = PendingIntent.getActivity(c, 0, notificationIntent, 0); notification.setLatestEventInfo(this, contentTitle, contentText, contentIntent); mNotificationManager.notify(HELLO_ID, notification); 16/02/2012 13
  • 14. Desafio 4: Status Bar • Alterar a aplicação desenvolvida para assim que receber uma ligação notificar o usuário usando Status Bar com o número de telefone; Utilize o BroadcastReceiver criado no desafio anterior. 16/02/2012 14
  • 15. Obrigado! Gustavo Henrique Rodrigues Pinto Tomas Email: gustavo.rodrigues@cesar.org.br Twitter: @gustahrodrigues Código fonte disponível em: http://bit.ly/xGrlTW 16/02/2012 15