android - 当用户在一台手机上登录时,相同的凭据不应在 android 中的另一台设备上登录
问题描述
因为我想实现与 whatsapp 相同的登录功能。如果用户使用(电子邮件和密码)登录一个设备。相同的登录不应该发生在另一台设备上。如何在 android 中实现此功能
在我的应用程序中,每当用户登录时,数据库中的状态值将更改为 1,当同一用户在另一个设备上登录时意味着它将显示弹出窗口,已经存在,如果之前的用户注销意味着值更改为 0。
但我怀疑如果用户登录并卸载应用程序意味着他不能再次登录,因为值更改为 1。
对于上述情况如何处理。请有人帮助我。
解决方案
我不确定,但以下想法可能有效。
正如这里也提到的,将每个用户的电话 ID 也保存到您的数据库中。(我也在添加代码来帮助你,但正如我提到的代码是由上面链接中的其他人编写的)
import android.provider.Settings.Secure;
private String android_id = Secure.getString(getContext().getContentResolver(),
Secure.ANDROID_ID);
然后,检查用户是否尝试使用其 ID 存储在您的数据库中的设备登录。如果是这种情况,请直接登录用户。这表明用户在未注销的情况下删除了应用程序。
如果用户在另一台设备上卸载了该程序,然后从另一台设备进入该应用程序,请要求用户重新登录。用户登录后,将当前设备的 ID 保存在您的数据库中。对于安全问题,也许您可以存储旧登录设备的 ID 和型号等。
我希望我清楚地向你解释了这个想法。让我知道这是否有帮助。
周末愉快!
推荐阅读
- python - 当我试图在嵌套列表中查找常见列表时,它的值正在改变?
- r - 按组id合并两个不同长度的数据帧
- asp.net - 模型属性用 ASP.NET MVC 替换空间
- excel - 循环工作表并删除
- laravel - 我在 laravel 中的递归函数不调用自己
- jsonschema - 多阶段 $ref 不适用于 jsonschema 版本 3.0.1
- javascript - 事件侦听器似乎没有在侦听或获取必要/预期的值
- c# - 内容类型参数为 [] 时的模型状态验证错误
- reactjs - 如何将链接添加到传递给反应组件的文本部分?
- python - 运行 2 台服务器进行缓存是否很好?(Django 和 Node.js)