2016-08-04 27 views
0

我有我的應用程序的註冊類型頁面,用於獲取用戶的詳細信息,並且我僅使用sharedpreferences方法運行了一次,但是我得到了一個問題是如果用戶在填寫細節時關閉該應用程序,那麼該活動不會再次發生。當用戶關閉該應用程序時,運行一次的活動不會再次發生

setContentView(R.layout.register_data); 
getSharedPreferences("PREFERENCE", MODE_PRIVATE) 
boolean isFirstRun = getSharedPreferences("PREFERENCE",MODE_PRIVATE).getBoolean("isFirstRun", true); 
if (isFirstRun){ 
    startActivity(new Intent(MainActivity.this, RegisterDetail.class)); 
    .edit() 
    .putBoolean("isFirstRun", false) 
    .apply(); 

}

+0

的可能的複製【如何開展活動只有一次,當應用程序是第一次打開?](http://stackoverflow.com/questions/7238532/how-to-launch-activity-only-once-when-app-is-opened-f或第一次) –

+0

添加另一個布爾值來檢查用戶是否點擊了註冊按鈕或您有的按鈕。 並且在註冊活動的'onPause()'或'onStop()'方法中檢查這個布爾值。如果用戶沒有點擊註冊使您的sharedpreferences布爾值再次爲True。 –

回答

0

入住這link 可能是有幫助的,你

一些裁判

SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getBaseContext()); 
    boolean previouslyStarted = prefs.getBoolean(getString(R.string.pref_previously_started), false); 
    if(!previouslyStarted) { 
     SharedPreferences.Editor edit = prefs.edit(); 
     edit.putBoolean(getString(R.string.pref_previously_started), Boolean.TRUE); 
     edit.commit(); 
     showHelp(); 
    } 
相關問題