问题:
我有两个Android
个应用,它们使用相同的登录数据。产品所有者希望在这两个应用程序之间启用无缝登录,这意味着用户只应登录到一个应用程序,然后登录到第二个应用程序而无需输入凭据。
研究可能的选项:
我读了很多,但我还没有找到解决方案。
一种选择是在清单中添加sharedUserId
,但据说这只有在尚未发布应用程序的情况下才有效,否则用户将无法再访问其旧的已保存数据。正如我的某个应用程序的情况一样,此选项已被删除。
另外,我读到了AccountManager
,reddit post也提到了这一点,但也提到了一个问题,即不应该在帐户管理器中保存密码。我的应用程序没有进行进一步身份验证的令牌,只有密码,因此我不确定AccountManager
是否是一个不错的选择。
另外我听说系统范围的凭据有KeyChain
Api,但我不确定AccountManager
和KeyChain
我找到的最新版本是Smart Lock
,但是从文档中我没有发现是否有办法在应用之间共享凭据,而不是在应用和网站之间共享凭据,因为这是密码对于物理设备,产品所有者无法看到Google消息,指示此密码已保存在云中的某个位置。
问题:
在研究了所有这些可能性后,我仍然不知道哪种选择最适合我的情况。在我的案例中保存凭证的最佳选择是什么?
答案 0 :(得分:0)
您可以实现一个内容提供程序,您将在其中处理条目并更新登录状态。
你有这些可能性:
用户登录应用A - >更新架构X - >进入应用B - >检查架构 - >如果字段显示已记录App A,请继续。
用户登录应用B - >更新架构X - >进入应用B - >检查架构 - >如果字段显示已记录App B,请继续。
您必须注意,如果您在线工作,退出选项可能会令人不安。
祝你好运:)