SlideShare uma empresa Scribd logo
PROGRAMAÇÃO PARA
DISPOSITIVOS MÓVEIS
Notification
Objetivos da aula
 Notification
Sua aplicação em segundo plano
precisa interagir com o usuário. Qual
a melhor maneira?
Toast?
Abrir uma tela sem permissão do
usuário?
Esta barra de status é familiar?
Esta barra de status é familiar?
Te lembra alguma coisa?
android.app.Notification
Não conhece esta barra de status?
Não conhece esta barra de status?
Arraste-a para baixo...
Observe o exemplo abaixo...
Sua aplicação não pode atrapalhar a
atividade atual do usuário, seja uma
leitura de SMS, uma chamada ativa,
jogando um game ou qualquer outra
ação.
Com Notification podemos inclusive
fazer o celular vibrar ou acender as
luzes.
Uma Notification, quando clicada
pode disparar uma Intent.
Se seu serviço precisar avisar algo ao
usuário, lembre-se da classe
Notification.
Activity que irá criar uma
Notification...
public class CriaNotificacao extends Activity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
TextView textView = new TextView(this);
textView.setText("Notificação criada...");
setContentView(textView);
String tickerText = "Você recebeu uma mensagem";
String titulo = "Ricardo";
String mensagem = "Exemplo de notificação";
notificar(this, R.drawable.ic_launcher, tickerText, titulo, mensagem, ExecutaNotificacao.class);
}
void notificar(Context ctx, int img, String ticker, String titulo, String msg, Class<?> activity) {
NotificationManager nm = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
PendingIntent p = PendingIntent.getActivity(ctx, 0, new Intent(ctx, activity), 0);
// @formatter:off
Notification n = new Notification.Builder(ctx)
.setTicker(ticker)
.setContentTitle(titulo)
.setSmallIcon(img)
.setContentText(msg)
.setContentIntent(p)
.setWhen(System.currentTimeMillis())
.build();
// @formatter:on
nm.notify(R.string.app_name, n);
}
}
public class CriaNotificacao extends Activity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
TextView textView = new TextView(this);
textView.setText("Notificação criada...");
setContentView(textView);
String tickerText = "Você recebeu uma mensagem";
String titulo = "Ricardo";
String mensagem = "Exemplo de notificação";
notificar(this, R.drawable.ic_launcher, tickerText, titulo, mensagem, ExecutaNotificacao.class);
}
void notificar(Context ctx, int img, String ticker, String titulo, String msg, Class<?> activity) {
NotificationManager nm = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
PendingIntent p = PendingIntent.getActivity(ctx, 0, new Intent(ctx, activity), 0);
// @formatter:off
Notification n = new Notification.Builder(ctx)
.setTicker(ticker)
.setContentTitle(titulo)
.setSmallIcon(img)
.setContentText(msg)
.setContentIntent(p)
.setWhen(System.currentTimeMillis())
.build();
// @formatter:on
nm.notify(R.string.app_name, n);
}
}
public class CriaNotificacao extends Activity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
TextView textView = new TextView(this);
textView.setText("Notificação criada...");
setContentView(textView);
String tickerText = "Você recebeu uma mensagem";
String titulo = "Ricardo";
String mensagem = "Exemplo de notificação";
notificar(this, R.drawable.ic_launcher, tickerText, titulo, mensagem, ExecutaNotificacao.class);
}
void notificar(Context ctx, int img, String ticker, String titulo, String msg, Class<?> activity) {
NotificationManager nm = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
PendingIntent p = PendingIntent.getActivity(ctx, 0, new Intent(ctx, activity), 0);
// @formatter:off
Notification n = new Notification.Builder(ctx)
.setTicker(ticker)
.setContentTitle(titulo)
.setSmallIcon(img)
.setContentText(msg)
.setContentIntent(p)
.setWhen(System.currentTimeMillis())
.build();
// @formatter:on
nm.notify(R.string.app_name, n);
}
}
public class CriaNotificacao extends Activity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
TextView textView = new TextView(this);
textView.setText("Notificação criada...");
setContentView(textView);
String tickerText = "Você recebeu uma mensagem";
String titulo = "Ricardo";
String mensagem = "Exemplo de notificação";
notificar(this, R.drawable.ic_launcher, tickerText, titulo, mensagem, ExecutaNotificacao.class);
}
void notificar(Context ctx, int img, String ticker, String titulo, String msg, Class<?> activity) {
NotificationManager nm = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
PendingIntent p = PendingIntent.getActivity(ctx, 0, new Intent(ctx, activity), 0);
// @formatter:off
Notification n = new Notification.Builder(ctx)
.setTicker(ticker)
.setContentTitle(titulo)
.setSmallIcon(img)
.setContentText(msg)
.setContentIntent(p)
.setWhen(System.currentTimeMillis())
.build();
// @formatter:on
nm.notify(R.string.app_name, n);
}
}
public class CriaNotificacao extends Activity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
TextView textView = new TextView(this);
textView.setText("Notificação criada...");
setContentView(textView);
String tickerText = "Você recebeu uma mensagem";
String titulo = "Ricardo";
String mensagem = "Exemplo de notificação";
notificar(this, R.drawable.ic_launcher, tickerText, titulo, mensagem, ExecutaNotificacao.class);
}
void notificar(Context ctx, int img, String ticker, String titulo, String msg, Class<?> activity) {
NotificationManager nm = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
PendingIntent p = PendingIntent.getActivity(ctx, 0, new Intent(ctx, activity), 0);
// @formatter:off
Notification n = new Notification.Builder(ctx)
.setTicker(ticker)
.setContentTitle(titulo)
.setSmallIcon(img)
.setContentText(msg)
.setContentIntent(p)
.setWhen(System.currentTimeMillis())
.build();
// @formatter:on
nm.notify(R.string.app_name, n);
}
}
public class CriaNotificacao extends Activity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
TextView textView = new TextView(this);
textView.setText("Notificação criada...");
setContentView(textView);
String tickerText = "Você recebeu uma mensagem";
String titulo = "Ricardo";
String mensagem = "Exemplo de notificação";
notificar(this, R.drawable.ic_launcher, tickerText, titulo, mensagem, ExecutaNotificacao.class);
}
void notificar(Context ctx, int img, String ticker, String titulo, String msg, Class<?> activity) {
NotificationManager nm = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
PendingIntent p = PendingIntent.getActivity(ctx, 0, new Intent(ctx, activity), 0);
// @formatter:off
Notification n = new Notification.Builder(ctx)
.setTicker(ticker)
.setContentTitle(titulo)
.setSmallIcon(img)
.setContentText(msg)
.setContentIntent(p)
.setWhen(System.currentTimeMillis())
.build();
// @formatter:on
nm.notify(R.string.app_name, n);
}
}
public class CriaNotificacao extends Activity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
TextView textView = new TextView(this);
textView.setText("Notificação criada...");
setContentView(textView);
String tickerText = "Você recebeu uma mensagem";
String titulo = "Ricardo";
String mensagem = "Exemplo de notificação";
notificar(this, R.drawable.ic_launcher, tickerText, titulo, mensagem, ExecutaNotificacao.class);
}
void notificar(Context ctx, int img, String ticker, String titulo, String msg, Class<?> activity) {
NotificationManager nm = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
PendingIntent p = PendingIntent.getActivity(ctx, 0, new Intent(ctx, activity), 0);
// @formatter:off
Notification n = new Notification.Builder(ctx)
.setTicker(ticker)
.setContentTitle(titulo)
.setSmallIcon(img)
.setContentText(msg)
.setContentIntent(p)
.setWhen(System.currentTimeMillis())
.build();
// @formatter:on
nm.notify(R.string.app_name, n);
}
}
public class CriaNotificacao extends Activity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
TextView textView = new TextView(this);
textView.setText("Notificação criada...");
setContentView(textView);
String tickerText = "Você recebeu uma mensagem";
String titulo = "Ricardo";
String mensagem = "Exemplo de notificação";
notificar(this, R.drawable.ic_launcher, tickerText, titulo, mensagem, ExecutaNotificacao.class);
}
void notificar(Context ctx, int img, String ticker, String titulo, String msg, Class<?> activity) {
NotificationManager nm = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
PendingIntent p = PendingIntent.getActivity(ctx, 0, new Intent(ctx, activity), 0);
// @formatter:off
Notification n = new Notification.Builder(ctx)
.setTicker(ticker)
.setContentTitle(titulo)
.setSmallIcon(img)
.setContentText(msg)
.setContentIntent(p)
.setWhen(System.currentTimeMillis())
.build();
// @formatter:on
nm.notify(R.string.app_name, n);
}
}
Activity que será executada através
da Notification...
public class ExecutaNotificacao extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
NotificationManager nm = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
nm.cancel(R.string.app_name);
TextView textView = new TextView(this);
textView.setText("Usuário selecionou a notificação.");
setContentView(textView);
}
}
public class ExecutaNotificacao extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
NotificationManager nm = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
nm.cancel(R.string.app_name);
TextView textView = new TextView(this);
textView.setText("Usuário selecionou a notificação.");
setContentView(textView);
}
}
public class ExecutaNotificacao extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
NotificationManager nm = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
nm.cancel(R.string.app_name);
TextView textView = new TextView(this);
textView.setText("Usuário selecionou a notificação.");
setContentView(textView);
}
}
Até a próxima!

Mais conteúdo relacionado

Mais procurados

Refactoring
RefactoringRefactoring
Refactoring
Bruno Lui
 
DevFest 2012 - Esquartejando sua Activity com Fragments
DevFest 2012 - Esquartejando sua Activity com FragmentsDevFest 2012 - Esquartejando sua Activity com Fragments
DevFest 2012 - Esquartejando sua Activity com Fragments
Suelen Carvalho
 
Palestra sobre tkinter
Palestra sobre tkinterPalestra sobre tkinter
Palestra sobre tkinter
Marcos Castro
 
Introdução ao Java Swing (Interface)
Introdução ao Java Swing (Interface)Introdução ao Java Swing (Interface)
Introdução ao Java Swing (Interface)Sérgio Souza Costa
 
Java interface gráfica swing
Java   interface gráfica swingJava   interface gráfica swing
Java interface gráfica swingArmando Daniel
 
Programando em python interfaces graficas com tk
Programando em python   interfaces graficas com tkProgramando em python   interfaces graficas com tk
Programando em python interfaces graficas com tksamuelthiago
 
Hiearquia Window
Hiearquia WindowHiearquia Window
Hiearquia Window
Daniel Arndt Alves
 

Mais procurados (11)

Padrão Iterator
Padrão IteratorPadrão Iterator
Padrão Iterator
 
Refactoring
RefactoringRefactoring
Refactoring
 
Repetições e vetores
Repetições e vetoresRepetições e vetores
Repetições e vetores
 
DevFest 2012 - Esquartejando sua Activity com Fragments
DevFest 2012 - Esquartejando sua Activity com FragmentsDevFest 2012 - Esquartejando sua Activity com Fragments
DevFest 2012 - Esquartejando sua Activity com Fragments
 
Java12
Java12Java12
Java12
 
Palestra sobre tkinter
Palestra sobre tkinterPalestra sobre tkinter
Palestra sobre tkinter
 
Introdução ao Java Swing (Interface)
Introdução ao Java Swing (Interface)Introdução ao Java Swing (Interface)
Introdução ao Java Swing (Interface)
 
Fragmentos
FragmentosFragmentos
Fragmentos
 
Java interface gráfica swing
Java   interface gráfica swingJava   interface gráfica swing
Java interface gráfica swing
 
Programando em python interfaces graficas com tk
Programando em python   interfaces graficas com tkProgramando em python   interfaces graficas com tk
Programando em python interfaces graficas com tk
 
Hiearquia Window
Hiearquia WindowHiearquia Window
Hiearquia Window
 

Destaque

Aula 5 - 24/04 (Landscape / Portrait)
Aula 5 - 24/04 (Landscape / Portrait)Aula 5 - 24/04 (Landscape / Portrait)
Aula 5 - 24/04 (Landscape / Portrait)
Ricardo Longa
 
Aula 10 04 (Gerenciadores de layouts)
Aula 10 04 (Gerenciadores de layouts)Aula 10 04 (Gerenciadores de layouts)
Aula 10 04 (Gerenciadores de layouts)
Ricardo Longa
 
android_overview
android_overviewandroid_overview
android_overviewRenato
 
Introduction Android - C.E.S.A.R
Introduction Android - C.E.S.A.RIntroduction Android - C.E.S.A.R
Introduction Android - C.E.S.A.RRenato
 
Android Palestra
Android PalestraAndroid Palestra
Android PalestraRenato
 
Aula 05/06 (Service)
Aula 05/06 (Service)Aula 05/06 (Service)
Aula 05/06 (Service)
Ricardo Longa
 
Aula 17 04 (Exercícios e ScrollView)
Aula 17 04 (Exercícios e ScrollView)Aula 17 04 (Exercícios e ScrollView)
Aula 17 04 (Exercícios e ScrollView)
Ricardo Longa
 
Aula 12/06 (SQLite)
Aula 12/06 (SQLite)Aula 12/06 (SQLite)
Aula 12/06 (SQLite)
Ricardo Longa
 
Android na prática - USCS
Android na prática - USCSAndroid na prática - USCS
Android na prática - USCS
Renato
 
Pomodoro agil
Pomodoro agilPomodoro agil
Pomodoro agilRenato
 
Aula 10 04 (intents)
Aula 10 04 (intents)Aula 10 04 (intents)
Aula 10 04 (intents)
Ricardo Longa
 
Treze ferramentas/frameworks para desenvolvimento android
Treze ferramentas/frameworks para desenvolvimento androidTreze ferramentas/frameworks para desenvolvimento android
Treze ferramentas/frameworks para desenvolvimento android
Ricardo Longa
 
Aula 6 - 08/05 (SharedPreferences)
Aula 6 - 08/05 (SharedPreferences)Aula 6 - 08/05 (SharedPreferences)
Aula 6 - 08/05 (SharedPreferences)
Ricardo Longa
 
Aula04 android intents
Aula04 android intentsAula04 android intents
Aula04 android intents
Roberson Alves
 
Aula 6 - 08/05 (Menu)
Aula 6 - 08/05 (Menu)Aula 6 - 08/05 (Menu)
Aula 6 - 08/05 (Menu)
Ricardo Longa
 
K19 k41 Desenvolvimento Mobile com Android
K19 k41 Desenvolvimento Mobile com AndroidK19 k41 Desenvolvimento Mobile com Android
K19 k41 Desenvolvimento Mobile com Android
Aline Diniz
 
Oficina Sesc Android - V1
Oficina Sesc Android - V1Oficina Sesc Android - V1
Oficina Sesc Android - V1
Odair Bonin Borges
 
Aula 29/05 (AlarmManager)
Aula 29/05 (AlarmManager)Aula 29/05 (AlarmManager)
Aula 29/05 (AlarmManager)
Ricardo Longa
 
Minicurso sobre AndroidAnnotations, GreenDAO, EventBus e Crouton
Minicurso sobre AndroidAnnotations, GreenDAO, EventBus e CroutonMinicurso sobre AndroidAnnotations, GreenDAO, EventBus e Crouton
Minicurso sobre AndroidAnnotations, GreenDAO, EventBus e Crouton
Ricardo Longa
 
Tutorial Android - Activities
Tutorial Android - ActivitiesTutorial Android - Activities
Tutorial Android - Activities
Jose Naves Moura Neto
 

Destaque (20)

Aula 5 - 24/04 (Landscape / Portrait)
Aula 5 - 24/04 (Landscape / Portrait)Aula 5 - 24/04 (Landscape / Portrait)
Aula 5 - 24/04 (Landscape / Portrait)
 
Aula 10 04 (Gerenciadores de layouts)
Aula 10 04 (Gerenciadores de layouts)Aula 10 04 (Gerenciadores de layouts)
Aula 10 04 (Gerenciadores de layouts)
 
android_overview
android_overviewandroid_overview
android_overview
 
Introduction Android - C.E.S.A.R
Introduction Android - C.E.S.A.RIntroduction Android - C.E.S.A.R
Introduction Android - C.E.S.A.R
 
Android Palestra
Android PalestraAndroid Palestra
Android Palestra
 
Aula 05/06 (Service)
Aula 05/06 (Service)Aula 05/06 (Service)
Aula 05/06 (Service)
 
Aula 17 04 (Exercícios e ScrollView)
Aula 17 04 (Exercícios e ScrollView)Aula 17 04 (Exercícios e ScrollView)
Aula 17 04 (Exercícios e ScrollView)
 
Aula 12/06 (SQLite)
Aula 12/06 (SQLite)Aula 12/06 (SQLite)
Aula 12/06 (SQLite)
 
Android na prática - USCS
Android na prática - USCSAndroid na prática - USCS
Android na prática - USCS
 
Pomodoro agil
Pomodoro agilPomodoro agil
Pomodoro agil
 
Aula 10 04 (intents)
Aula 10 04 (intents)Aula 10 04 (intents)
Aula 10 04 (intents)
 
Treze ferramentas/frameworks para desenvolvimento android
Treze ferramentas/frameworks para desenvolvimento androidTreze ferramentas/frameworks para desenvolvimento android
Treze ferramentas/frameworks para desenvolvimento android
 
Aula 6 - 08/05 (SharedPreferences)
Aula 6 - 08/05 (SharedPreferences)Aula 6 - 08/05 (SharedPreferences)
Aula 6 - 08/05 (SharedPreferences)
 
Aula04 android intents
Aula04 android intentsAula04 android intents
Aula04 android intents
 
Aula 6 - 08/05 (Menu)
Aula 6 - 08/05 (Menu)Aula 6 - 08/05 (Menu)
Aula 6 - 08/05 (Menu)
 
K19 k41 Desenvolvimento Mobile com Android
K19 k41 Desenvolvimento Mobile com AndroidK19 k41 Desenvolvimento Mobile com Android
K19 k41 Desenvolvimento Mobile com Android
 
Oficina Sesc Android - V1
Oficina Sesc Android - V1Oficina Sesc Android - V1
Oficina Sesc Android - V1
 
Aula 29/05 (AlarmManager)
Aula 29/05 (AlarmManager)Aula 29/05 (AlarmManager)
Aula 29/05 (AlarmManager)
 
Minicurso sobre AndroidAnnotations, GreenDAO, EventBus e Crouton
Minicurso sobre AndroidAnnotations, GreenDAO, EventBus e CroutonMinicurso sobre AndroidAnnotations, GreenDAO, EventBus e Crouton
Minicurso sobre AndroidAnnotations, GreenDAO, EventBus e Crouton
 
Tutorial Android - Activities
Tutorial Android - ActivitiesTutorial Android - Activities
Tutorial Android - Activities
 

Semelhante a Aula 05/06 (Notification)

Aula 15 e 16 - Navegação - Activities e Fragments.pptx.pdf
Aula 15 e 16 - Navegação - Activities e Fragments.pptx.pdfAula 15 e 16 - Navegação - Activities e Fragments.pptx.pdf
Aula 15 e 16 - Navegação - Activities e Fragments.pptx.pdf
nosbisantos
 
Android Wear
Android WearAndroid Wear
Android Wear
Nelson Glauber Leal
 
Introdução a programação em Android
Introdução a programação em AndroidIntrodução a programação em Android
Introdução a programação em Android
Pedro Veloso
 
Combatendo code smells em aplicações Java
Combatendo code smells em aplicações JavaCombatendo code smells em aplicações Java
Combatendo code smells em aplicações Java
Emmanuel Neri
 
Exercícios java 20 02
Exercícios java 20   02Exercícios java 20   02
Exercícios java 20 02julyesersantos
 
Oficina Android - Games com AndEngine - Dia 3
Oficina Android - Games com AndEngine - Dia 3Oficina Android - Games com AndEngine - Dia 3
Oficina Android - Games com AndEngine - Dia 3
Odair Bonin Borges
 
Criando itens de menu em aplicativos nativos com a BlackBerry API
Criando itens de menu em aplicativos nativos com a BlackBerry APICriando itens de menu em aplicativos nativos com a BlackBerry API
Criando itens de menu em aplicativos nativos com a BlackBerry API
Ricardo Ogliari
 
Oficina Android - Games com AndEngine - Dia 2
Oficina Android - Games com AndEngine - Dia 2Oficina Android - Games com AndEngine - Dia 2
Oficina Android - Games com AndEngine - Dia 2
Odair Bonin Borges
 
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
 
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
Heider Lopes
 
Desvendando as ferramentas e serviços para o desenvolvedor Android
Desvendando as ferramentas e serviços para o desenvolvedor AndroidDesvendando as ferramentas e serviços para o desenvolvedor Android
Desvendando as ferramentas e serviços para o desenvolvedor Android
joaobmonteiro
 
03_aperfeicoando a interface.pdf
03_aperfeicoando a interface.pdf03_aperfeicoando a interface.pdf
03_aperfeicoando a interface.pdf
Joao Neves
 
TDC 2015 - Execução em Background e Live Tiles em Universal Apps
TDC 2015 - Execução em Background e Live Tiles em Universal AppsTDC 2015 - Execução em Background e Live Tiles em Universal Apps
TDC 2015 - Execução em Background e Live Tiles em Universal Apps
Diego Castro
 
Aula actionscript basico
Aula actionscript basicoAula actionscript basico
Aula actionscript basicoWemerson Silva
 
Android Para Iniciantes
Android Para IniciantesAndroid Para Iniciantes
Android Para Iniciantes
Rodolfo G.Luna Freire
 
Cafe com Tom - ExtJS 4
Cafe com Tom - ExtJS 4Cafe com Tom - ExtJS 4
Cafe com Tom - ExtJS 4
Loiane Groner
 
Android app communication
Android app communicationAndroid app communication
Android app communication
Eloi Júnior
 
Design Patterns na Programação de Jogo
Design Patterns na Programação de JogoDesign Patterns na Programação de Jogo
Design Patterns na Programação de Jogo
Bruno Cicanci
 
Bloco 5.3
Bloco 5.3Bloco 5.3

Semelhante a Aula 05/06 (Notification) (20)

Aula 15 e 16 - Navegação - Activities e Fragments.pptx.pdf
Aula 15 e 16 - Navegação - Activities e Fragments.pptx.pdfAula 15 e 16 - Navegação - Activities e Fragments.pptx.pdf
Aula 15 e 16 - Navegação - Activities e Fragments.pptx.pdf
 
Android Wear
Android WearAndroid Wear
Android Wear
 
Introdução a programação em Android
Introdução a programação em AndroidIntrodução a programação em Android
Introdução a programação em Android
 
Combatendo code smells em aplicações Java
Combatendo code smells em aplicações JavaCombatendo code smells em aplicações Java
Combatendo code smells em aplicações Java
 
Exercícios java 20 02
Exercícios java 20   02Exercícios java 20   02
Exercícios java 20 02
 
Oficina Android - Games com AndEngine - Dia 3
Oficina Android - Games com AndEngine - Dia 3Oficina Android - Games com AndEngine - Dia 3
Oficina Android - Games com AndEngine - Dia 3
 
Criando itens de menu em aplicativos nativos com a BlackBerry API
Criando itens de menu em aplicativos nativos com a BlackBerry APICriando itens de menu em aplicativos nativos com a BlackBerry API
Criando itens de menu em aplicativos nativos com a BlackBerry API
 
Oficina Android - Games com AndEngine - Dia 2
Oficina Android - Games com AndEngine - Dia 2Oficina Android - Games com AndEngine - Dia 2
Oficina Android - Games com AndEngine - Dia 2
 
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 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
 
Desvendando as ferramentas e serviços para o desenvolvedor Android
Desvendando as ferramentas e serviços para o desenvolvedor AndroidDesvendando as ferramentas e serviços para o desenvolvedor Android
Desvendando as ferramentas e serviços para o desenvolvedor Android
 
03_aperfeicoando a interface.pdf
03_aperfeicoando a interface.pdf03_aperfeicoando a interface.pdf
03_aperfeicoando a interface.pdf
 
Interface grafica
Interface graficaInterface grafica
Interface grafica
 
TDC 2015 - Execução em Background e Live Tiles em Universal Apps
TDC 2015 - Execução em Background e Live Tiles em Universal AppsTDC 2015 - Execução em Background e Live Tiles em Universal Apps
TDC 2015 - Execução em Background e Live Tiles em Universal Apps
 
Aula actionscript basico
Aula actionscript basicoAula actionscript basico
Aula actionscript basico
 
Android Para Iniciantes
Android Para IniciantesAndroid Para Iniciantes
Android Para Iniciantes
 
Cafe com Tom - ExtJS 4
Cafe com Tom - ExtJS 4Cafe com Tom - ExtJS 4
Cafe com Tom - ExtJS 4
 
Android app communication
Android app communicationAndroid app communication
Android app communication
 
Design Patterns na Programação de Jogo
Design Patterns na Programação de JogoDesign Patterns na Programação de Jogo
Design Patterns na Programação de Jogo
 
Bloco 5.3
Bloco 5.3Bloco 5.3
Bloco 5.3
 

Mais de Ricardo Longa

Big Data como Serviço: da captura à visualização de dados com alto desempenho
Big Data como Serviço: da captura à visualização de dados com alto desempenhoBig Data como Serviço: da captura à visualização de dados com alto desempenho
Big Data como Serviço: da captura à visualização de dados com alto desempenho
Ricardo Longa
 
Adopt a JSR
Adopt a JSRAdopt a JSR
Adopt a JSR
Ricardo Longa
 
JSR 339 - Java API for RESTful Web Services
JSR 339 - Java API for RESTful Web ServicesJSR 339 - Java API for RESTful Web Services
JSR 339 - Java API for RESTful Web Services
Ricardo Longa
 
JBoss Forge 2
JBoss Forge 2JBoss Forge 2
JBoss Forge 2
Ricardo Longa
 
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
 
Android - Programação para dispositivos móveis (Aula 1)
Android - Programação para dispositivos móveis (Aula 1)Android - Programação para dispositivos móveis (Aula 1)
Android - Programação para dispositivos móveis (Aula 1)Ricardo Longa
 
Da introdução à prática no desenvolvimento Android
Da introdução à prática no desenvolvimento AndroidDa introdução à prática no desenvolvimento Android
Da introdução à prática no desenvolvimento Android
Ricardo Longa
 
Open Networking
Open NetworkingOpen Networking
Open Networking
Ricardo Longa
 
Da introdução à prática com Drools Expert e Drools Flow
Da introdução à prática com Drools Expert e Drools FlowDa introdução à prática com Drools Expert e Drools Flow
Da introdução à prática com Drools Expert e Drools Flow
Ricardo Longa
 

Mais de Ricardo Longa (9)

Big Data como Serviço: da captura à visualização de dados com alto desempenho
Big Data como Serviço: da captura à visualização de dados com alto desempenhoBig Data como Serviço: da captura à visualização de dados com alto desempenho
Big Data como Serviço: da captura à visualização de dados com alto desempenho
 
Adopt a JSR
Adopt a JSRAdopt a JSR
Adopt a JSR
 
JSR 339 - Java API for RESTful Web Services
JSR 339 - Java API for RESTful Web ServicesJSR 339 - Java API for RESTful Web Services
JSR 339 - Java API for RESTful Web Services
 
JBoss Forge 2
JBoss Forge 2JBoss Forge 2
JBoss Forge 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)
Android - Programação para dispositivos móveis (Aula 2)
 
Android - Programação para dispositivos móveis (Aula 1)
Android - Programação para dispositivos móveis (Aula 1)Android - Programação para dispositivos móveis (Aula 1)
Android - Programação para dispositivos móveis (Aula 1)
 
Da introdução à prática no desenvolvimento Android
Da introdução à prática no desenvolvimento AndroidDa introdução à prática no desenvolvimento Android
Da introdução à prática no desenvolvimento Android
 
Open Networking
Open NetworkingOpen Networking
Open Networking
 
Da introdução à prática com Drools Expert e Drools Flow
Da introdução à prática com Drools Expert e Drools FlowDa introdução à prática com Drools Expert e Drools Flow
Da introdução à prática com Drools Expert e Drools Flow
 

Aula 05/06 (Notification)

  • 2. Objetivos da aula  Notification
  • 3. Sua aplicação em segundo plano precisa interagir com o usuário. Qual a melhor maneira?
  • 5. Abrir uma tela sem permissão do usuário?
  • 6. Esta barra de status é familiar?
  • 7. Esta barra de status é familiar? Te lembra alguma coisa?
  • 9. Não conhece esta barra de status?
  • 10. Não conhece esta barra de status? Arraste-a para baixo...
  • 11. Observe o exemplo abaixo...
  • 12. Sua aplicação não pode atrapalhar a atividade atual do usuário, seja uma leitura de SMS, uma chamada ativa, jogando um game ou qualquer outra ação.
  • 13. Com Notification podemos inclusive fazer o celular vibrar ou acender as luzes.
  • 14. Uma Notification, quando clicada pode disparar uma Intent.
  • 15. Se seu serviço precisar avisar algo ao usuário, lembre-se da classe Notification.
  • 16.
  • 17. Activity que irá criar uma Notification...
  • 18. public class CriaNotificacao extends Activity { public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); TextView textView = new TextView(this); textView.setText("Notificação criada..."); setContentView(textView); String tickerText = "Você recebeu uma mensagem"; String titulo = "Ricardo"; String mensagem = "Exemplo de notificação"; notificar(this, R.drawable.ic_launcher, tickerText, titulo, mensagem, ExecutaNotificacao.class); } void notificar(Context ctx, int img, String ticker, String titulo, String msg, Class<?> activity) { NotificationManager nm = (NotificationManager) getSystemService(NOTIFICATION_SERVICE); PendingIntent p = PendingIntent.getActivity(ctx, 0, new Intent(ctx, activity), 0); // @formatter:off Notification n = new Notification.Builder(ctx) .setTicker(ticker) .setContentTitle(titulo) .setSmallIcon(img) .setContentText(msg) .setContentIntent(p) .setWhen(System.currentTimeMillis()) .build(); // @formatter:on nm.notify(R.string.app_name, n); } }
  • 19. public class CriaNotificacao extends Activity { public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); TextView textView = new TextView(this); textView.setText("Notificação criada..."); setContentView(textView); String tickerText = "Você recebeu uma mensagem"; String titulo = "Ricardo"; String mensagem = "Exemplo de notificação"; notificar(this, R.drawable.ic_launcher, tickerText, titulo, mensagem, ExecutaNotificacao.class); } void notificar(Context ctx, int img, String ticker, String titulo, String msg, Class<?> activity) { NotificationManager nm = (NotificationManager) getSystemService(NOTIFICATION_SERVICE); PendingIntent p = PendingIntent.getActivity(ctx, 0, new Intent(ctx, activity), 0); // @formatter:off Notification n = new Notification.Builder(ctx) .setTicker(ticker) .setContentTitle(titulo) .setSmallIcon(img) .setContentText(msg) .setContentIntent(p) .setWhen(System.currentTimeMillis()) .build(); // @formatter:on nm.notify(R.string.app_name, n); } }
  • 20. public class CriaNotificacao extends Activity { public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); TextView textView = new TextView(this); textView.setText("Notificação criada..."); setContentView(textView); String tickerText = "Você recebeu uma mensagem"; String titulo = "Ricardo"; String mensagem = "Exemplo de notificação"; notificar(this, R.drawable.ic_launcher, tickerText, titulo, mensagem, ExecutaNotificacao.class); } void notificar(Context ctx, int img, String ticker, String titulo, String msg, Class<?> activity) { NotificationManager nm = (NotificationManager) getSystemService(NOTIFICATION_SERVICE); PendingIntent p = PendingIntent.getActivity(ctx, 0, new Intent(ctx, activity), 0); // @formatter:off Notification n = new Notification.Builder(ctx) .setTicker(ticker) .setContentTitle(titulo) .setSmallIcon(img) .setContentText(msg) .setContentIntent(p) .setWhen(System.currentTimeMillis()) .build(); // @formatter:on nm.notify(R.string.app_name, n); } }
  • 21. public class CriaNotificacao extends Activity { public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); TextView textView = new TextView(this); textView.setText("Notificação criada..."); setContentView(textView); String tickerText = "Você recebeu uma mensagem"; String titulo = "Ricardo"; String mensagem = "Exemplo de notificação"; notificar(this, R.drawable.ic_launcher, tickerText, titulo, mensagem, ExecutaNotificacao.class); } void notificar(Context ctx, int img, String ticker, String titulo, String msg, Class<?> activity) { NotificationManager nm = (NotificationManager) getSystemService(NOTIFICATION_SERVICE); PendingIntent p = PendingIntent.getActivity(ctx, 0, new Intent(ctx, activity), 0); // @formatter:off Notification n = new Notification.Builder(ctx) .setTicker(ticker) .setContentTitle(titulo) .setSmallIcon(img) .setContentText(msg) .setContentIntent(p) .setWhen(System.currentTimeMillis()) .build(); // @formatter:on nm.notify(R.string.app_name, n); } }
  • 22. public class CriaNotificacao extends Activity { public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); TextView textView = new TextView(this); textView.setText("Notificação criada..."); setContentView(textView); String tickerText = "Você recebeu uma mensagem"; String titulo = "Ricardo"; String mensagem = "Exemplo de notificação"; notificar(this, R.drawable.ic_launcher, tickerText, titulo, mensagem, ExecutaNotificacao.class); } void notificar(Context ctx, int img, String ticker, String titulo, String msg, Class<?> activity) { NotificationManager nm = (NotificationManager) getSystemService(NOTIFICATION_SERVICE); PendingIntent p = PendingIntent.getActivity(ctx, 0, new Intent(ctx, activity), 0); // @formatter:off Notification n = new Notification.Builder(ctx) .setTicker(ticker) .setContentTitle(titulo) .setSmallIcon(img) .setContentText(msg) .setContentIntent(p) .setWhen(System.currentTimeMillis()) .build(); // @formatter:on nm.notify(R.string.app_name, n); } }
  • 23. public class CriaNotificacao extends Activity { public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); TextView textView = new TextView(this); textView.setText("Notificação criada..."); setContentView(textView); String tickerText = "Você recebeu uma mensagem"; String titulo = "Ricardo"; String mensagem = "Exemplo de notificação"; notificar(this, R.drawable.ic_launcher, tickerText, titulo, mensagem, ExecutaNotificacao.class); } void notificar(Context ctx, int img, String ticker, String titulo, String msg, Class<?> activity) { NotificationManager nm = (NotificationManager) getSystemService(NOTIFICATION_SERVICE); PendingIntent p = PendingIntent.getActivity(ctx, 0, new Intent(ctx, activity), 0); // @formatter:off Notification n = new Notification.Builder(ctx) .setTicker(ticker) .setContentTitle(titulo) .setSmallIcon(img) .setContentText(msg) .setContentIntent(p) .setWhen(System.currentTimeMillis()) .build(); // @formatter:on nm.notify(R.string.app_name, n); } }
  • 24. public class CriaNotificacao extends Activity { public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); TextView textView = new TextView(this); textView.setText("Notificação criada..."); setContentView(textView); String tickerText = "Você recebeu uma mensagem"; String titulo = "Ricardo"; String mensagem = "Exemplo de notificação"; notificar(this, R.drawable.ic_launcher, tickerText, titulo, mensagem, ExecutaNotificacao.class); } void notificar(Context ctx, int img, String ticker, String titulo, String msg, Class<?> activity) { NotificationManager nm = (NotificationManager) getSystemService(NOTIFICATION_SERVICE); PendingIntent p = PendingIntent.getActivity(ctx, 0, new Intent(ctx, activity), 0); // @formatter:off Notification n = new Notification.Builder(ctx) .setTicker(ticker) .setContentTitle(titulo) .setSmallIcon(img) .setContentText(msg) .setContentIntent(p) .setWhen(System.currentTimeMillis()) .build(); // @formatter:on nm.notify(R.string.app_name, n); } }
  • 25. public class CriaNotificacao extends Activity { public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); TextView textView = new TextView(this); textView.setText("Notificação criada..."); setContentView(textView); String tickerText = "Você recebeu uma mensagem"; String titulo = "Ricardo"; String mensagem = "Exemplo de notificação"; notificar(this, R.drawable.ic_launcher, tickerText, titulo, mensagem, ExecutaNotificacao.class); } void notificar(Context ctx, int img, String ticker, String titulo, String msg, Class<?> activity) { NotificationManager nm = (NotificationManager) getSystemService(NOTIFICATION_SERVICE); PendingIntent p = PendingIntent.getActivity(ctx, 0, new Intent(ctx, activity), 0); // @formatter:off Notification n = new Notification.Builder(ctx) .setTicker(ticker) .setContentTitle(titulo) .setSmallIcon(img) .setContentText(msg) .setContentIntent(p) .setWhen(System.currentTimeMillis()) .build(); // @formatter:on nm.notify(R.string.app_name, n); } }
  • 26. Activity que será executada através da Notification...
  • 27. public class ExecutaNotificacao extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); NotificationManager nm = (NotificationManager) getSystemService(NOTIFICATION_SERVICE); nm.cancel(R.string.app_name); TextView textView = new TextView(this); textView.setText("Usuário selecionou a notificação."); setContentView(textView); } }
  • 28. public class ExecutaNotificacao extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); NotificationManager nm = (NotificationManager) getSystemService(NOTIFICATION_SERVICE); nm.cancel(R.string.app_name); TextView textView = new TextView(this); textView.setText("Usuário selecionou a notificação."); setContentView(textView); } }
  • 29. public class ExecutaNotificacao extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); NotificationManager nm = (NotificationManager) getSystemService(NOTIFICATION_SERVICE); nm.cancel(R.string.app_name); TextView textView = new TextView(this); textView.setText("Usuário selecionou a notificação."); setContentView(textView); } }
  • 30.