Tecnologia do Blogger.
RSS

Re: [androidbrasil-dev] Re: Notificação simples mas com 2 linhas

Voltando ao problema... Por enquanto considerando apenas android 4+.
O inboxstyle tem funcionado perfeitamente exceto pelo fato de que eu não consigo exibir apenas uma string. Eu não sei ao certo porquê, se eu adiciono apenas uma mensagem em inboxStyle.addLine(), aparece apenas o titulo da notificação sem nenhum conteúdo. Mesmo setando uma string "", acontece a mesma coisa. Eu contornei a situação inserindo uma mensagem genérica.
Estou usando uma classe que possui metodos e atributos estaticos para gerenciar a notificação:

public static void show(Context ctx, String newIdReturn)
throws NoNotificationDataException {

NotificationCompat.InboxStyle inboxStyle = new NotificationCompat.InboxStyle();

if (mNotificationIRC.isEmpty() && mNotificationRadio.isEmpty()) {
if (isShown()) {
cancel(ctx);
}
throw new NoNotificationDataException(
"Nenhuma das duas mensagens de status foi setada");

}

if (!mNotificationRadio.isEmpty()) {
inboxStyle.addLine(mNotificationRadio);
} else {
inboxStyle.addLine("Player: OFF");
}

if (!mNotificationIRC.isEmpty()) {
inboxStyle.addLine(mNotificationIRC);
} else {
inboxStyle.addLine("Chat: OFF");
}

// A partir daqui, é como consta no Android Developer
// Enviar notificação
NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(
ctx)
.setSmallIcon(com.example.irclient2.R.drawable.ic_launcher)
.setContentTitle(
ctx.getResources().getString(R.string.app_name))
.setAutoCancel(true).setOngoing(true).setStyle(inboxStyle);

// Creates an explicit intent for an Activity in your app
Intent resultIntent = new Intent(ctx, MainActivity.class);

if (newIdReturn != null) {
UUIDReturn = newIdReturn;
}

if (UUIDReturn != null) {
resultIntent.putExtra(MyService.EXTRA_UUID, UUIDReturn);
}

TaskStackBuilder stackBuilder = TaskStackBuilder.create(ctx);
// Adds the back stack for the Intent (but not the Intent itself)
stackBuilder.addParentStack(MainActivity.class);
// Adds the Intent that starts the Activity to the top of the stack
stackBuilder.addNextIntent(resultIntent);
PendingIntent resultPendingIntent = stackBuilder.getPendingIntent(0,
PendingIntent.FLAG_UPDATE_CURRENT);
mBuilder.setContentIntent(resultPendingIntent);
NotificationManager mNotificationManager = (NotificationManager) ctx
.getSystemService(Context.NOTIFICATION_SERVICE);
// mId allows you to update the notification later on.
mNotificationManager.notify(mId, mBuilder.build());

mIsShown = true;

}

O outro problema mais sério é que apesar do fluxo ser o mesmo, quando o dispositivo vai pro modo de stand by e a activity é parada, a notificação também não exibe essas mensagens, mesmo sendo duas.

Normalmente (se apenas tivesse voltado pra home ao inves de ter bloqueado o celular) apareceriam ali duas mensagens de status.

Não sei o que fazer. Por favor, ajudem. Desde ja, obrigado.


--
You received this message because you are subscribed to the Google Groups "Android Brasil - Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to androidbrasil-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

0 comentários:

Postar um comentário