2014-01-27 34 views
0

在我的应用程序中有一个登录页面,它是第一个活动。在通过登录页面成功输入后,我不想在第一个活动后看到登录页面use.but每次应用程序打开我需要登录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(); 
    } 
+0

尝试调用“完成()”到您的LoginTask,在那里你正在进入下一个活动 – Dimmerg

+0

活动在堆栈的方式推的onPOstExecute这样的活动推送的第一不能删除第一个我想,在登录后使用偏好设置或在第二项活动上重写onBackPressed()以跳过登录活动。 – Saqib

+1

它可以被删除。尝试从活动A调用活动B,其中A - 应用程序中的第一个活动,并在startActivity()之后的下一行中调用finish() - 它将起作用。 – Dimmerg

回答

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/

+0

谢谢你的工作。感谢你的回复 – Noufal

1

写这篇文章时,你开始新的活动:

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

我在我的第一个活动wrriten,但当退出键按登录页面出现之前退出应用程序。 – Noufal

0

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

要了解更多关于您可以传递给setFlags()方法的不同标志,请通过this链接!