更新通知的tickerText

时间:2011-07-12 20:58:27

标签: android notifications

我遇到了一个奇怪的通知问题。

我已创建了一个正在进行的通知,我希望有时更新通知并显示新的自动收报机文字。

创建通知时,会正确显示自动收报机文本 当我第一次更新通知时(使用下面的代码),正确显示新的自动收报机文本 当我第二次更新通知时,使用与第一次完全相同的代码和相同的参数(特别是相同的新的自动收录器文本),不会显示自动收报机文本。

问题出在哪里?

代码:

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

修改
好的,我找到了原因,如果它和以前一样,Android不想再显示自动收报机文本。 是否有解决方法?

编辑#2:
我的应用程序是一个多人游戏,我必须在用户连接时保持网络套接字打开 但是当我收到一条新的短信并希望阅读它时,我不想突然断开用户的连接(例如)。我想要的是持续通知说“你将在30秒内断开连接” 当用户连接时,我遇到上述问题,离开应用程序,在30秒后返回,然后再次离开应用程序。只有当用户反复离开并返回我的应用程序时,我才会重复闪烁相同的消息(我猜这不应该经常出现)

你认为这会骚扰用户吗?我该怎么做呢?

2 个答案:

答案 0 :(得分:3)

  

是否有解决方法?

具有用户重视的有意义的不同文本。请勿反复闪烁相同的信息来骚扰用户。


更新基于编辑

  

我想要的是持续发出通知,说“你将在30秒内断开连接”。

没关系。

  

我在连接用户时出现上述问题,离开应用程序,在30秒后返回,然后再次离开应用程序。

用户回到您的活动,您应该取消Notification,在这种情况下,您可以重新显示相同的自动收报机信息。

答案 1 :(得分:0)

您可以有两个不同的持续通知代码 - 一个用于用户使用应用程序,一个用户离开时。然后,当用户启动您的应用程序时,您取消"非活动"通知和显示"活跃"通知。当用户再次离开时,只需取消"激活"通知和显示"不活动"。通过这种方式,您应该在显示"非活动"通知。如果两个通知都具有相同的图标,则用户可能甚至不会注意到。当连接终止时,只需隐藏两个通知,这样用户就会知道他已离线。