Eu tenho um aplicativo, quero mostrar meu ícone do aplicativopara a barra de notificação quando meu aplicativo está em execução e eu também quero quando o usuário vai clicar no ícone do meu aplicativo presente na barra de notificação meu aplicativo estará aberto. Como fazer isso? Por favor ajude!
Respostas:
14 para resposta № 1Para criar uma notificação da barra de status, faça isso no seu método onCreate:
Obtenha uma referência ao NotificationManager:
String ns = Context.NOTIFICATION_SERVICE; NotificationManager mNotificationManager = (NotificationManager) getSystemService(ns);
Instanciar a notificação:
int icon = R.drawable.notification_icon; CharSequence tickerText = "Hello"; long when = System.currentTimeMillis(); Notification notification = new Notification(icon, tickerText, when);
Defina a mensagem expandida e a intenção da notificação:
Context context = getApplicationContext(); CharSequence contentTitle = "My notification"; CharSequence contentText = "Hello World!"; Intent notificationIntent = new Intent(this, MyClass.class); PendingIntent contentIntent = PendingIntent.getActivity(this, 0, notificationIntent, 0); notification.setLatestEventInfo(context, contentTitle, contentText, contentIntent);
Passe a notificação para o NotificationManager:
private static final int HELLO_ID = 1; mNotificationManager.notify(HELLO_ID, notification);
É isso. Seu usuário foi notificado agora.
7 para resposta № 2
A resposta aceita é obsoleta. Aqui está o caminho para mostrar um diálogo, do google "s documentação.
NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(this).setSmallIcon(R.drawable
.logo_listy).setContentTitle("My notification").setContentText("Hello World!");
Intent resultIntent = new Intent(this, ResultActivity.class);
TaskStackBuilder stackBuilder = TaskStackBuilder.create(this);
stackBuilder.addParentStack(ResultActivity.class);
stackBuilder.addNextIntent(resultIntent);
PendingIntent resultPendingIntent =
stackBuilder.getPendingIntent(0, PendingIntent.FLAG_UPDATE_CURRENT);
mBuilder.setContentIntent(resultPendingIntent);
NotificationManager mNotificationManager =
(NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
mNotificationManager.notify(0, mBuilder.build());
3 para resposta № 3
Poucas sugestões:
- Se você quiser ícone na barra de notificação, você deve enviar alguma notificação.
- A aplicação não pode ser iniciada clicando noícone de notificação. Pode ser iniciado clicando na notificação, que estará disponível se a barra de notificação suspensa do usuário. Para esse efeito, você precisa criar PendingIntent.
0 para a resposta № 4
Você precisa postar uma notificação com uma intenção pendente que contém uma intenção de iniciar seu aplicativo. Vejo http://developer.android.com/guide/topics/ui/notifiers/notifications.html como fazê-lo em geral e http://javablogs.com/Jump.action?id=628173 Para uma armadilha você pode cair.