Для моего приложения я использую один идентификатор уведомления, чтобы не загромождать Меню уведомлений пользователя. Каждое из моих уведомлений содержит текст тикера. Когда из моего приложения нет уведомлений, и пользователь получает уведомление, отображается текст тикера. Когда уведомление уже существует и просто обновляется, текст тикера не отображается.Как обновить текст тикера?
Я сделал работу, которая очень халатная, где я отменяю уведомление до того, как я уведомию об этом, но это в конечном счете вызывает очень очевидное отставание от вибраций.
В настоящее время, как у меня есть уведомления происходит:
mBuilder.setSmallIcon(R.drawable.actionbar_logo)
.setContentTitle(extras.getString("title"))
.setContentText(extras.getString("summary"))
.setAutoCancel(true)
.setStyle(new NotificationCompat.BigTextStyle()
.bigText(extras.getString("extended_text"))
)
.setLights(Color.WHITE, NOTIF_LIGHT_INTERVAL, NOTIF_LIGHT_INTERVAL)
.setDefaults(Notification.DEFAULT_SOUND | Notification.DEFAULT_VIBRATE);
Intent intent = new Intent(this, MainActivity.class);
intent.putExtra("mainActivityNotification", true);
intent.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
PendingIntent contentIntent = PendingIntent.getActivity(this, 424242, intent, PendingIntent.FLAG_UPDATE_CURRENT);
mBuilder.setContentIntent(contentIntent);
final Notification notification = mBuilder.build();
notification.tickerText = extras.getString("title") + "\n" +
extras.getString("summary") + "\n" +
extras.getString("post_body");
mNotificationManager.notify(GATE_NOTIFICATION_ID, notification);
Вы, наверное, баловаться с 'PendingIntent's, но для тех, кто сможет ответить на вопрос, который вы должны предоставить минимальный соответствующий код. – ozbek
Обновлено родительское – David
Глядя на ответ здесь http://stackoverflow.com/a/16435330/2841101. В нем говорится, что в следующий раз вы должны использовать один и тот же строитель. И используя этот строитель, вы просто обновляете тикер-текст. –