gpt4 book ai didi

android - 如果缓存了密码,则避免在启动时进行登录 Activity

转载 作者:行者123 更新时间:2023-11-29 15:20:34 25 4
gpt4 key购买 nike

我有一个典型的 Android 应用程序,用户必须在其中登录才能显示应用程序的主要 Activity。但是,如果我们已经有了缓存的用户名/密码,我想跳过登录页面。

我可以在我的登录 onCreate 中检测我是否有用户/密码并推送一个新的 Activity,但我担心这会使我的应用程序启动速度变慢(因为我必须加载一个 Activity 然后立即将其丢弃),并且它也可能会破坏后退按钮(即您可以返回并最终返回登录屏幕)。

有什么办法可以避免这种情况,并且只在没有缓存密码的情况下才加载完整的登录 Activity ?

最佳答案

您可以创建一个单独的辅助 Activity 来启动您的登录 Activity 或主 Activity 。在其 onCreate 中,您将使用 startActivity 并立即调用 finish 以从返回堆栈中删除辅助 Activity 。

Intent intent;
if ( /* already logged in */ ) {
intent = new Intent(this, MainActivity.class);
} else {
intent = new Intent(this, LoginActivity.class);
}
startActivity(intent);
finish();

然后,LoginActivity 应该像往常一样重新启动 MainActivity。这样,用户将永远无法导航回助手 Activity ,因为它没有出现在返回堆栈中。但请注意,用户仍然可以登录、转到 MainActivity、暂停该 Activity 、删除他的帐户(通过 Android 设置)并恢复 Activity (从最近的应用程序)。如果你想避免这种情况,最好将登录重定向放在 MainActivity 中(甚至可能放在 onResume 中)。

关于android - 如果缓存了密码,则避免在启动时进行登录 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18729826/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com