Android 检查意图是否存在

Android 检查意图是否存在,android,android-intent,Android,Android Intent,在我的程序中,用户从欢迎页面开始使用应用程序,需要输入详细信息才能继续。当他们到达主页时,他们将输入一个名称,并将其作为意图传递到主页 我希望用户在第一次使用该应用程序时就被带到欢迎页面,然后一直被带到主页 我正在将名称保存为共享首选项,因此它应该始终存在 因此,我尝试始终将用户发送到主页,但如果不存在任何意图(即第一次),他们将被带到主页,但我无法使其工作。这是我的努力 public class HomeActivity extends Activity { @Override protec

在我的程序中,用户从欢迎页面开始使用应用程序,需要输入详细信息才能继续。当他们到达主页时,他们将输入一个名称,并将其作为意图传递到主页

我希望用户在第一次使用该应用程序时就被带到欢迎页面,然后一直被带到主页

我正在将名称保存为共享首选项,因此它应该始终存在

因此,我尝试始终将用户发送到主页,但如果不存在任何意图(即第一次),他们将被带到主页,但我无法使其工作。这是我的努力

public class HomeActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_home);


        Intent intent1 = getIntent();
        Bundle bundle = intent1.getExtras();


         if( intent1.getExtras() == null)
            {
                Intent intent = new Intent(HomeActivity.this,Welcome.class);
                startActivity(intent);
            } 


        final String name = bundle.getString("Name");
        final int targetTime = bundle.getInt("targetTime", 1);

WelcomeActivity
onCreate
中,检查
SharedReferance
的内容是否为空或是否设置为某个值,如果为空,请停留在
WelcomeActivity
上,否则
开始活动(用于您的主页)
。并使
WelcomeActivity
成为
AndroidMenifest.xml中的
启动器

Welcome.java的
onCreate中执行此操作

SharedPreferences mPrefs = PreferenceManager.getDefaultSharedPreferences(this);
String name = mPrefs.getString("Name", null);

if (name != null) {
   Intent intent = new Intent(Welcome.this,HomeActivity.class);
   startActivity(intent);
}
当您移动到
HomeActivity
时,将名称保存在共享首选项中,如下所示

SharedPreferences mPrefs = PreferenceManager.getDefaultSharedPreferences(this);
SharedPreferences.Editor editor = mPrefs.edit();
editor.putString("name", name);
editor.commit();
在欢迎活动的
onCreate()
中,检查共享首选项中是否存在名称。如果没有,请继续活动。如果有name,您可以启动主页并
finish()
欢迎活动

确保在开始主页活动后调用
finish()
,否则当您按下主页中的后退按钮时,您将被重定向到欢迎页面

String login="";
    
    Bundle extras=getIntent().getExtras();
    if (extras!=null) {
         login = getIntent().getStringExtra("login");
    }if (login==null){
        login="";
    }
    if(user==null  && !login.equalsIgnoreCase("login")){
        Intent contentIntent=new Intent(MainActivity.this,MarketActivity.class);
        startActivity(contentIntent);
        finish();
    }