2016-02-29 34 views
-2

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

我希望用户在第一次使用应用程序时被带到欢迎页面,并在此之后被带到主页。

我将这个名称保存为共享首选项,所以它应该始终存在。

所以我试着总是发送用户到主页,但如果没有意图(即第一次)他们将被带到主页,但我不能得到它的工作。这是我的努力。

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
WelcomeActivity检查 onCreate

如果sharedPreferance的内容为空或设置为某个值,如果是空的,留在WelcomeActivity其他startActivity(for_HomePage)。并WelcomeActivitylauncherAndroidMenifest.xml

1

完成这件事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); 
} 

onCreate当你像欢迎这一活动

SharedPreferences mPrefs = PreferenceManager.getDefaultSharedPreferences(this); 
SharedPreferences.Editor editor = mPrefs.edit(); 
editor.putString("name", name); 
editor.commit(); 
1

onCreate()股偏好转移到HomeActivity保存名称,检查共享首选项中是否存在名称。如果不继续该活动。如果名称存在,则可以启动主页和欢迎活动。

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