在我的程序中,用户从他们使用应用程序的欢迎页面开始,需要输入详细信息才能继续。当他们到达主页时,他们将输入一个名称,并将其作为意图传递到主页。
我希望用户在第一次使用应用程序时被带到欢迎页面,然后在此之后一直被带到主页。
我将名称保存为共享首选项,因此它应始终存在。
所以我尝试的是始终将用户发送到主页,但如果没有Intent存在(即第一次),他们将被带到主页,但我无法使其工作。这是我的努力。
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);
答案 0 :(得分:1)
在onCreate
Welcome.java
中执行此操作
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();
答案 1 :(得分:1)
在欢迎活动的onCreate()
内,检查共享首选项中是否存在名称。如果没有继续活动。如果名称存在,您可以启动主页并finish()
欢迎活动。
确保在开始主页活动后致电finish()
,否则当您在首页按回按钮时,您将被重定向到欢迎页面。
答案 2 :(得分:0)
onCreate
中的WelcomeActivity
检查sharedPreferance
的内容是否为空或设置为某个值,如果为空,请留在WelcomeActivity
else {{ 1}}。并在startActivity(for_HomePage)
中WelcomeActivity
launcher
答案 3 :(得分:0)
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();
}