在启动下一个活动时,从活动堆栈中删除先前的活动

时间:2014-01-27 11:15:24

标签: android

在我的应用程序中有一个登录页面。这是第一个活动。在通过登录页面成功进入之后。我不想在第一次使用后看到登录页面。但每次应用程序打开时我都需要登录page.thats为什么我不使用共享preferrence.please帮助我。

etuserid = (EditText) findViewById(R.id.etuserid);
        etpass = (EditText) findViewById(R.id.etlogpassword);
        login = (Button) findViewById(R.id.btlogin);
        namevaluepair = new ArrayList<NameValuePair>();

        login.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                userid = etuserid.getText().toString();
                pass = etpass.getText().toString();

                String url = "http://mytesting.hostingsiteforfree.com/POS/login.php";
                new LoginTask().execute(url, userid, pass);

            }
        });
      //  finish();
    }

3 个答案:

答案 0 :(得分:1)

当您开始新活动时写下此内容:

Intent intent = new Intent(this, NewActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);     
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
startActivity(intent);

答案 1 :(得分:1)

这类似于行为中的“闪屏”。要实现这一点,您需要在开始下一个活动后立即调用finish()(已注释掉)。你为什么评论出来,不做你想做的事?

// Start your app main activity
Intent i = new Intent(SplashScreen.this, MainActivity.class);
startActivity(i);

// close this activity
finish();

http://www.androidhive.info/2013/07/how-to-implement-android-splash-screen-2/

答案 2 :(得分:0)

您可以使用setFlags()方法清除堆栈甚至特定任务。

要了解有关可以传递给setFlags()方法的不同标志的更多信息,请浏览this链接!!!