如何在Android应用中处理登录和注销

时间:2019-01-25 15:21:49

标签: android

Android Studio 3.4.0

我有一个应用,该应用在启动时会显示login activity。用户将通过发送用户名和密码登录,并会收到JWT授权。

我已将此授权令牌存储在共享首选项中。他们注销后,我将从共享首选项中删除授权令牌。

但是,当用户启动应用程序时,我希望能够检查授权令牌是否已存储,如果授权令牌未显示login activity或是否存在,则允许他们转到{{ 1}}。

所以看来我必须有一个活动,该活动将是正在加载的活动,该活动将进行检查并确定哪个活动将开始。

但是,由于检查共享的首选项将是一项非常快捷的操作,因此我实际上并不想显示任何UI,因为仅通过闪烁并转到下一个活动将毫无意义。

有什么办法可以进行一些无脑的活动,这些活动只会进行检查但不会显示任何UI。

在扩大版面之前,是否有必要在home activity中进行检查?

我没有进行任何Facebook,Google或任何社交媒体登录。

只是想知道什么是最佳实践。

2 个答案:

答案 0 :(得分:1)

我的应用程序中有类似的工作流程。我的方法如下。登录活动的布局被初始化为“正在加载,请稍候”视图。在显示的内容上,我使用AsyncTask来检查存储的令牌,并使用后端服务器对其进行验证,然后导航到主home活​​动,或将“ loading”片段替换为包含登录表单的片段。

答案 1 :(得分:1)

只需在onCreate()之前的setContentView()家庭活动中检查它,就像这样:

if (preferenceHelper.getAccessToken().isEmpty()) { startActivity(Intent(this@HomeActivity, LoginActivity::class.java)) finish() return }

它不会导致任何闪烁出现。

相关问题