2016-02-29 35 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(),否則當您按下主頁中的按鈕時,您將被重定向到歡迎頁面。