在Android中用户注销后禁用通知

时间:2013-02-18 03:50:59

标签: java android

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

换句话说,一旦用户注销,就无法禁用通知。相反,通知永远不会被禁用,即使在注销后使应用程序高度无法使用,也会继续重复发生。

非常感谢任何建议。

感谢

2 个答案:

答案 0 :(得分:0)

用户退出应用后,使用NotificationManager取消所有通知。

答案 1 :(得分:0)

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

a)这应该是最简单的,因为用户正在注销,不再需要在后台安装后台服务,因此当触发注销时可以调用stopSelf()是。如果在活动上发生注销操作,您可以通过广播或通过消息来通知服务,具体取决于您如何建立服务。

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

private void showNotification () {
    if (isUserLoggedOut)
       return;
    //shownotification otherwise
}
c)尽管如此,我强烈建议修改您的注销工作流程,清除该用户的现有持久数据(访问令牌等),关闭聊天的主要活动并再次显示登录活动,并禁用任何处理服务中的消息,因为您的服务不应该处理任何帐户的消息,假设用户已退出。