Android-如何跳过第一个活动

时间:2014-02-07 04:58:49

标签: android android-activity

我有一个Android应用程序。在第一次运行时,第一个活动将打开,并将在应用程序的存储中保存一个值。当我重新打开应用程序时,我想跳过第一个活动。我怎么能这样做?

重新开启时:

if(stogage_value == "enable"){
  skip first activity;
}else{
first activity;
}

6 个答案:

答案 0 :(得分:1)

首先在共享首选项中运行存储标志值。每次检查该值,如果没有首先运行,则调用第二个活动。

答案 1 :(得分:1)

Intent myIntent;
if(stogage_value == "enable"){
   myIntent = new Intent(CurrentActivity.this, NextActivity.class);
}else{
   myIntent = new Intent(CurrentActivity.this, FirstActivity.class);
}
CurrentActivity.this.startActivity(myIntent);

答案 2 :(得分:1)

您需要使用共享首选项来维护计数器或标志。当第一次调用活动时,只需将标志设置为true,如果flag为true,则调用另一个活动或执行其他操作。请参阅提供的答案here

答案 3 :(得分:1)

在OnCreate中你可以用这种方式实现。你必须首先保存“stogage_value”

 boolean firstTime = "";   //get this value from preference
    if(!firstTime){
       Intent myIntent = new Intent(First.this, NextActivity.class);

        firstTime = false;
      // here save this in  preference
    }else{
       setContentView(R.layout.main);
    }

答案 4 :(得分:1)

sharedpreference首次启动时保存布尔标志,并在活动启动前读取此值

现在检查布尔值

所以你的代码将是这样的

@Override
protected void onCreate(Bundle savedInstanceState) {
   ....
 Boolean flag;
loadSavedPreferences();
Intent myIntent;
if(flag){
 myIntent = new Intent(CurrentActivity.this, FirstActivity.class);
 savePreferences()
 }else{
 myIntent = new Intent(CurrentActivity.this, NextActivity.class);

private void loadSavedPreferences() {
    SharedPreferences sharedPreferences = PreferenceManager
            .getDefaultSharedPreferences(this);
    flag = sharedPreferences.getBoolean("FirstLaunch", true);

}

private void savePreferences() {

    SharedPreferences sharedPreferences = PreferenceManager
            .getDefaultSharedPreferences(this);
    Editor editor = sharedPreferences.edit();
    editor.putBoolean("FirstLaunch", false);
    editor.commit();

}
  }

以下是来自slidenerd

的共享偏好的视频教程

答案 5 :(得分:1)

我只是运行新活动并停止第一项活动

if(stogage_value == "enable"){
  Intent i = new Intent(context, SecondActivity.class);
  startActivity(i); //start second activity
  finish(); //finish first activity
}else{
  //do nothing
}