【问题标题】:Android- How to restrict users to be active in more than one device?Android-如何限制用户在多个设备上活动?
【发布时间】:2018-06-25 07:02:26
【问题描述】:

我正在开发一个 Android 应用程序,我想在其中限制用户一次只能访问一台设备。

假设用户 A 第一次使用 Android 应用程序登录,从下一次开始,应用程序会使用存储在本地存储中的凭据自动登录。

如果同一用户使用相同的凭据登录 Web 应用程序并更改了密码,则移动应用程序应在密码更改后立即强制用户登录。即使移动应用程序处于活动状态并且正在执行有些任务,必须取消并强制用户重新登录。

我的想法是在用户从 Web 应用程序登录/更改密码后立即在移动应用程序中使用推送通知来终止会话。但瓶颈是设备设置中有一个选项可以阻止通知。

请帮助我找到解决此问题的方法。

【问题讨论】:

  • 始终在服务器上验证。这不是安卓问题。
  • 由于您自动登录用户,我假设您在登录/注册时提供了某种访问令牌。当发生某些操作(即更改密码)时,此访问令牌可以在服务器上失效。如果令牌无效,则所有移动请求都应失败并显示特定错误代码(401 - 未经授权)。当应用检测到这个错误时,它应该将用户重定向到登录。
  • @danypata 我不使用令牌。我们使用liferay sdk。它提供了 API 来检查用户是否已经登录。基于此,我导航到 LoginActivity/HomeScreen
  • Android 中没有停止推送通知的选项,但可以选择停止显示通知。

标签: android session login push-notification


【解决方案1】:

设备中有NO选项可以阻止推送通知。但是有一个选项可以阻止应用程序在设备通知栏中显示通知,还有另一个选项可以阻止应用程序在后台使用数据(互联网)(不使用时!)。这与您的问题不同。

方法如下!在您的服务器上使用Firebase 向用户设备发送消息。您应该发送数据消息以获得完全控制,并且因为您不需要向用户设备显示任何通知。当该消息到达用户时。您应该注销用户。请记住,所有这些都发生在后台,用户不会注意到任何内容或显示的任何通知。您可以了解更多关于 message types here 的信息。

【讨论】:

  • 谢谢。让我尝试使用推送通知并检查是否触发了清除数据的代码sn-p
猜你喜欢
  • 1970-01-01
  • 2016-08-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-06-25
  • 1970-01-01
  • 1970-01-01
  • 2015-04-15
相关资源
最近更新 更多