我遇到了一个奇怪的通知问题。
我已创建了一个正在进行的通知,我希望有时更新通知并显示新的自动收报机文字。
创建通知时,会正确显示自动收报机文本 当我第一次更新通知时(使用下面的代码),正确显示新的自动收报机文本 当我第二次更新通知时,使用与第一次完全相同的代码和相同的参数(特别是相同的新的自动收录器文本),不会显示自动收报机文本。
问题出在哪里?
代码:
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秒后返回,然后再次离开应用程序。只有当用户反复离开并返回我的应用程序时,我才会重复闪烁相同的消息(我猜这不应该经常出现)
你认为这会骚扰用户吗?我该怎么做呢?
答案 0 :(得分:3)
是否有解决方法?
具有用户重视的有意义的不同文本。请勿反复闪烁相同的信息来骚扰用户。
更新基于编辑
我想要的是持续发出通知,说“你将在30秒内断开连接”。
没关系。
我在连接用户时出现上述问题,离开应用程序,在30秒后返回,然后再次离开应用程序。
用户回到您的活动,您应该取消Notification
,在这种情况下,您可以重新显示相同的自动收报机信息。
答案 1 :(得分:0)
您可以有两个不同的持续通知代码 - 一个用于用户使用应用程序,一个用户离开时。然后,当用户启动您的应用程序时,您取消"非活动"通知和显示"活跃"通知。当用户再次离开时,只需取消"激活"通知和显示"不活动"。通过这种方式,您应该在显示"非活动"通知。如果两个通知都具有相同的图标,则用户可能甚至不会注意到。当连接终止时,只需隐藏两个通知,这样用户就会知道他已离线。