【问题标题】:prevent to open another activity android防止打开另一个活动android
【发布时间】:2013-11-06 03:35:40
【问题描述】:

我有 2 个活动:主要活动和登录活动。 当登录活动中登录成功时,意图将打开主要活动。 问题是每次我按下返回按钮时,登录活动都会再次打开。我想最小化应用程序而不是再次打开登录活动。 如果正在登录,我使用共享首选项来标记我的应用程序。如果用户已登录,我将布尔值设置为 true。 我使用了共享偏好。并像这样使用 cekLogin() :

private boolean cekLogin() {
        boolean login;
        login = config.getBoolean("login", false);
        return login;
    }

config 是我的共享首选项。

if(cekLogin){
//do not open login activity again when back button pressed <--- i don't know how to do this
}

【问题讨论】:

    标签: android android-activity


    【解决方案1】:

    将此代码放入您的 login.java 文件中

    //Assuming this is the part where you open the second activity:
    Intent intent = new Intent(this, secondActivity.java);
    startActivity(intent);
    finish();
    

    当您在第二个活动上单击返回按钮时,应用程序将在您完成登录活动后返回主页。

    【讨论】:

      【解决方案2】:

      在您的 AndroidManifest.xml 中,将以下内容添加到 LoginActivity 标记中:
      android:noHistory="true"
      这将关闭此活动的历史记录,以便当您按下后退按钮时,将始终跳过此活动。由于只有在登录成功后才能进入 MainActivity,所以我认为这没问题。

      【讨论】:

        【解决方案3】:

        您可以覆盖onBackPressed(),这样当用户按下后,应用程序就会关闭,而不是返回到上一个活动。

        或者您可以在开始一个活动之后完成()上一个活动。

        【讨论】:

          【解决方案4】:
          The problem is everytime i press back button the login activity is opened again.
          

          为此,您有两个选择:要么完成登录活动,然后转到主要活动,要么您可以覆盖方法 onBackPressed()

          【讨论】:

            【解决方案5】:

            登录成功后将值存储在 sharedpref 之前,您必须首先检查他们是否已登录 sharedpref 如果是,则它将直接打开主要活动,否则打开登录屏幕。

             if(isLogin)
                      {
                              startActivity(new Intent(SplashScreenActivity.this, MainActivity.class));
                         }
                          else
                          {
                              startActivity(new Intent(SplashScreenActivity.this, LoginActivity.class));
            
                          }
            

            其中 isLogin 是一个布尔变量,首先声明为 false,如果已登录成功,则在 sharedpref 中将值更改为 true

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 2012-04-24
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2013-05-26
              • 1970-01-01
              相关资源
              最近更新 更多