Aula 05/06 (Notification)

31
PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS Notification

Transcript of Aula 05/06 (Notification)

Page 1: Aula 05/06 (Notification)

PROGRAMAÇÃO PARADISPOSITIVOS MÓVEIS

Notification

Page 2: Aula 05/06 (Notification)

Objetivos da aula Notification

Page 3: Aula 05/06 (Notification)

Sua aplicação em segundo plano precisa interagir com o usuário. Qual a melhor maneira?

Page 4: Aula 05/06 (Notification)

Toast?

Page 5: Aula 05/06 (Notification)

Abrir uma tela sem permissão do usuário?

Page 6: Aula 05/06 (Notification)

Esta barra de status é familiar?

Page 7: Aula 05/06 (Notification)

Esta barra de status é familiar?Te lembra alguma coisa?

Page 8: Aula 05/06 (Notification)

android.app.Notification

Page 9: Aula 05/06 (Notification)

Não conhece esta barra de status?

Page 10: Aula 05/06 (Notification)

Não conhece esta barra de status?

Arraste-a para baixo...

Page 11: Aula 05/06 (Notification)

Observe o exemplo abaixo...

Page 12: Aula 05/06 (Notification)

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.

Page 13: Aula 05/06 (Notification)

Com Notification podemos inclusive fazer o celular vibrar ou acender as luzes.

Page 14: Aula 05/06 (Notification)

Uma Notification, quando clicada pode disparar uma Intent.

Page 15: Aula 05/06 (Notification)

Se seu serviço precisar avisar algo ao usuário, lembre-se da classe Notification.

Page 16: Aula 05/06 (Notification)
Page 17: Aula 05/06 (Notification)

Activity que irá criar uma Notification...

Page 18: Aula 05/06 (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); }

}

Page 19: Aula 05/06 (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); }

}

Page 20: Aula 05/06 (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); }

}

Page 21: Aula 05/06 (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); }

}

Page 22: Aula 05/06 (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); }

}

Page 23: Aula 05/06 (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); }

}

Page 24: Aula 05/06 (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); }

}

Page 25: Aula 05/06 (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); }

}

Page 26: Aula 05/06 (Notification)

Activity que será executada através da Notification...

Page 27: Aula 05/06 (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); }

}

Page 28: Aula 05/06 (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); }

}

Page 29: Aula 05/06 (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); }

}

Page 30: Aula 05/06 (Notification)
Page 31: Aula 05/06 (Notification)

Até a próxima!