1

我正在开发一个类似于 Line/Whats 应用程序的 Android 应用程序,即基本上是即时通讯工具。我面临的问题是,即使在用户注销后,通知仍然显示。

换句话说,一旦用户注销,就无法禁用通知。相反,通知永远不会被禁用,并且即使在注销后仍会继续重复出现,从而使应用程序高度无法使用。

任何建议将不胜感激。

谢谢

4

2 回答 2

0

一旦用户退出您的应用程序,使用 NotificationManager 取消所有通知。

于 2013-02-18T04:10:33.577 回答
0

我想通知是通过在后台接收消息的服务显示的。我的建议如下:

a) 这个应该是最简单的了,既然用户正在注销,就不需要后台有后台服务了,所以可以stopSelf()在触发注销的时候调用。如果注销操作发生在活动上,您可以通过广播或消息通知服务,具体取决于您建立服务的方式。

b)如果您想尝试其他方法,可以在服务类中添加一个标志:isUserLoggedOut并在执行注销工作流程时将其设置为 true。然后,您可以在决定是否通知用户时检查此标志。

private void showNotification () {
    if (isUserLoggedOut)
       return;
    //shownotification otherwise
}

c) 老实说,我强烈建议您修改您的注销工作流程,清除该用户的现有持久数据(访问令牌等),关闭聊天的主要活动并再次显示登录活动,并禁用任何消息处理在服务中,因为假设用户退出,您的服务不应该为任何帐户处理消息。

于 2013-02-18T04:26:22.687 回答