Обновление tickerText уведомления

1

У меня есть странная проблема с уведомлениями.

Я создал постоянное уведомление, и я хочу иногда обновлять уведомление и отображать новый текст кода.

Когда я создаю уведомление, текст тикера отображается правильно.
Когда я обновляю уведомление в первый раз (с приведенным ниже кодом), текст нового тикера отображается правильно.
Когда я обновляю уведомление во второй раз с точно таким же кодом и теми же аргументами, что и в первый раз (в частности, тем же самым новым тикером текста), текст тикера не отображается.

В чем проблема?

Код:

mNotification.tickerText = newTickerText;
mNotification.when = System.currentTimeMillis();
mNotification.setLatestEventInfo(activity, title, message, pIntent); // I dont think these arguments are relevant, but I can post more code if you want
nm.notify(42, mNotification); // nm is the NotificationManager

Редактировать:
Хорошо, я нашел причину, Android не хочет отображать текст тикера снова, если он такой же, как раньше. Есть ли обходной путь для этого?

Редактировать # 2:
Мое приложение - многопользовательская игра, я должен держать сетевой сокет открытым в течение времени, когда пользователь подключен.
Но я не хочу внезапно отключать пользователя, когда он получает новое SMS и хочет его прочитать (например). Я хочу, чтобы появилось уведомление о том, что "вы будете отключены через 30 секунд".
У меня проблема выше, когда пользователь подключен, оставьте приложение, вернитесь менее чем через 30 секунд после этого, а затем оставьте заявку еще раз. Я неоднократно выставляю одно и то же сообщение только в том случае, если пользователь многократно уходит и возвращается к моему приложению (что не должно часто возникать, я думаю)

Считаете ли вы, что это может беспокоить пользователя? Что мне делать вместо этого?

Теги:
notifications

2 ответа

3
Лучший ответ

Есть ли обходной путь для этого?

Иметь значимо другой текст, который будет стоить пользователю. Не беспокоить пользователя, повторяя одно и то же сообщение.


ОБНОВЛЕНИЕ на основе редактирования

Я хочу, чтобы появилось уведомление о том, что "вы будете отключены через 30 секунд".

Это здорово.

У меня проблема выше, когда пользователь подключен, оставьте приложение, вернитесь менее чем через 30 секунд после этого, а затем оставьте заявку еще раз.

Пользователь вернулся к вашей деятельности, в которой вы должны отменить Notification, и в этом случае у вас не будет проблем с повторным отображением одного и того же сообщения о тикерах.

  • 0
    Пожалуйста, смотрите мою правку № 2.
  • 0
    Да, я мог бы сделать это, но кажется странным запускать уведомление только тогда, когда пользователь покидает приложение. Я бы предпочел, чтобы уведомление присутствовало, даже когда пользователь использует мое приложение, в качестве текущего уведомления (например, он мог бы знать, не разблокируя свой телефон, если он все еще подключен). Или вы имеете в виду, что я могу отменить, а затем немедленно перезапустить уведомление без тикера? Это звучит странно тоже.
Показать ещё 2 комментария
0

У вас может быть два разных текущих кода уведомлений: один, когда пользователь использует приложение, когда пользователь остается. Затем, когда пользователь запускает ваше приложение, вы отменяете свое "неактивное" уведомление и показываете "активное" уведомление. И когда пользователь снова уйдет, просто отмените "активное" уведомление и покажите "неактивным". Таким образом, вы всегда должны получать тикер при отображении "неактивного" уведомления. Если оба уведомления имеют один и тот же значок, пользователь может даже не заметить. Когда соединение завершается, просто скройте оба уведомления, поэтому пользователь узнает, что он отключен.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню