我正在开发类似于Line / Whats应用程序的Android应用程序,即基本上是即时通讯工具。我面临的问题是即使在用户注销后,仍会显示通知。
换句话说,一旦用户注销,就无法禁用通知。相反,通知永远不会被禁用,即使在注销后使应用程序高度无法使用,也会继续重复发生。
非常感谢任何建议。
感谢
答案 0 :(得分:0)
用户退出应用后,使用NotificationManager取消所有通知。
答案 1 :(得分:0)
我想通过在后台接收消息的服务显示通知。我建议如下:
a)这应该是最简单的,因为用户正在注销,不再需要在后台安装后台服务,因此当触发注销时可以调用stopSelf()
是。如果在活动上发生注销操作,您可以通过广播或通过消息来通知服务,具体取决于您如何建立服务。
b)如果您想尝试其他方法,可以在服务类中添加一个标志:isUserLoggedOut
并在执行注销工作流程时将其设置为true。然后,您可以在决定是否通知用户时检查此标志。
private void showNotification () {
if (isUserLoggedOut)
return;
//shownotification otherwise
}
c)尽管如此,我强烈建议修改您的注销工作流程,清除该用户的现有持久数据(访问令牌等),关闭聊天的主要活动并再次显示登录活动,并禁用任何处理服务中的消息,因为您的服务不应该处理任何帐户的消息,假设用户已退出。