在Android中,如何重定向到主页而不转到标题和登录页面?

在Android中,如何重定向到主页而不转到标题和登录页面?,android,session,Android,Session,我是android编程新手。我正在开发一个简单的应用程序,让用户可以预订电影票。在我的清单文件中,开始活动是标题页。当我们按回车键时,它显示登录页面。登录后,将有一个主页,其中有一些功能和注销按钮 我使用SharedReference来维护会话。但我有一个问题。 在未注销的情况下关闭应用程序并再次打开应用程序后,将显示标题页和该登录页之后。 但我需要显示主页,而不去标题和登录页面。怎么做 我在谷歌上搜索了一下,并尝试了很多例子。我找不到答案。 这与清单启动活动或什么有关?您可以将检查登录状态的逻

我是android编程新手。我正在开发一个简单的应用程序,让用户可以预订电影票。在我的清单文件中,开始活动是标题页。当我们按回车键时,它显示登录页面。登录后,将有一个主页,其中有一些功能和注销按钮

我使用SharedReference来维护会话。但我有一个问题。
在未注销的情况下关闭应用程序并再次打开应用程序后,将显示标题页和该登录页之后。
但我需要显示主页,而不去标题和登录页面。怎么做

我在谷歌上搜索了一下,并尝试了很多例子。我找不到答案。

这与清单启动活动或什么有关?

您可以将检查登录状态的逻辑放在标题活动中,然后您的应用程序将决定下一步加载哪个活动(如果未登录,则为loginactivity,如果已登录,则为homescreen)。显然,用户登录后,您也会从登录活动加载主屏幕。

这很简单。看看这个例子。密码会说出来的

if (isLoggedIn()) {
            //user is already logged in!
            gotoHome();

        } else {
            //user is logged out!
            goToTitlePage();
        }
isLoggedIn功能

 public boolean isLoggedIn() {
            Boolean mIsLoggedIn = getSharedPreferences("login_status_key",
                    MODE_PRIVATE).getBoolean("login_status_value"),
                    false);
            return mIsLoggedIn;
        }
成功登录时存储登录状态值。

getSharedPreferences("login_status_key",
                        MODE_PRIVATE).edit().putBoolean("login_status_value"),
                true).commit();
getSharedPreferences("login_status_key",
                            MODE_PRIVATE).edit().putBoolean("login_status_value"),
                    false).commit();
在您成功从应用程序注销时编辑登录状态。

getSharedPreferences("login_status_key",
                        MODE_PRIVATE).edit().putBoolean("login_status_value"),
                true).commit();
getSharedPreferences("login_status_key",
                            MODE_PRIVATE).edit().putBoolean("login_status_value"),
                    false).commit();

为您的应用程序创建SplashScreen,然后编写以下代码:

SessionManager session=new SessionManager(Splash.this);
        if(session.isUserLoggedIn()){
            new Handler().post(new Runnable() {
                @Override
                public void run() {

                    boolean isloggedin=preftandp.getBoolean(Constants.LOGGED_IN false);

                    if(isloggedin)
                    {
                        startActivity(new Intent(LoginActivity.this,HomeActivity.class));

                        finish();
                    }else{
                        startActivity(new Intent(Splash.this,LoginActivity.class));

                        finish();
                    }
                }
            });

逻辑很简单。坐在启动屏幕上,您可以根据共享的首选项值决定启动哪项活动。

您可以在问题中提供代码以供审阅吗?谢谢:)您所说的“preftandp”是什么意思?它显示了LoginActivity。这不是一个封闭类。另外,请您解释一下这行代码:“boolean isloggedin=preftandp.getBoolean(Constants.LOGGED_IN false);”?preftandp是共享首选项,您可以在其中存储用户是否登录。很好。知道了。但显示LoginActivity不是封闭类的错误。为什么呢?我该怎么办?