Aula 05/06 (Notification)

Post on 16-Apr-2017

426 views 1 download

Transcript of Aula 05/06 (Notification)

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!