View
427
Download
1
Category
Preview:
Citation preview
PROGRAMAÇÃO PARADISPOSITIVOS 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!
Recommended