Привет, я пытаюсь загрузить фрагмент, когда возвращается в приложение. Я пытаюсь сделать это, установив строку в настройках системы, которая говорит session = "not active" в моей onPause() и session = "active" в моей onResume(); проблема в том, что когда я перехожу к новому действию, он также запускает onPause(), тем самым делая сессию неактивной. результат заключается в том, что каждый раз, когда я перехожу от одной активности к другой, мой фрагмент загружается. я должен упомянуть, что фрагмент содержит вход для ввода данных, чтобы защитить данные, поэтому мне это нужно. поэтому, чтобы подвести итог, кто-нибудь знает, как определить, когда пользователь вернулся в приложение?фрагмент загрузки, когда пользователь снова открывает приложение android
Вот что я пытался до сих пор
@Override
protected void onStop() {
// TODO Auto-generated method stub
super.onStop();
EasyTracker.getInstance(this).activityStop(this); // Add this method.
saveStringToPreference(this, "user_session", "not_active");
Log.v("Homepage", "onStop");
Log.v("Homepage", "user_session= " + returnStringFromPreference(this, "user_session"));
}
@Override
protected void onDestroy() {
// TODO Auto-generated method stub
super.onDestroy();
saveStringToPreference(this, "user_session", "not_active");
Log.v("Homepage", "onDestroy");
Log.v("Homepage", "user_session= " + returnStringFromPreference(this, "user_session"));
}
@Override
protected void onResume() {
// TODO Auto-generated method stub
super.onResume();
saveStringToPreference(this, "user_session", "active");
ActionBar actionBar = getActionBar();
actionBar.hide();
Fragment pinFragment = new PinFragment();
FragmentManager pinFragmentManager = getFragmentManager();
pinFragmentManager.beginTransaction().replace(R.id.content_frame, pinFragment).commit();
Log.v("Homepage", "onResume");
Log.v("Homepage", "user_session= " + returnStringFromPreference(this, "user_session"));
}
public void userPin(){
if(userHasSetPin(this) == true){
if(returnStringFromPreference(this, "user_session").equals("active")){
fragment = new homePageFragment();
fragmentManager = getFragmentManager();
fragmentManager.beginTransaction().replace(R.id.content_frame, fragment).commit();
}else{
ActionBar actionBar = getActionBar();
actionBar.hide();
Fragment pinFragment = new PinFragment();
FragmentManager pinFragmentManager = getFragmentManager();
pinFragmentManager.beginTransaction().replace(R.id.content_frame, pinFragment).commit();
}
}else{
ActionBar actionBar = getActionBar();
actionBar.hide();
Fragment pinSetupFragment = new PinSetupFragment();
FragmentManager pinSetupFragmentManager = getFragmentManager();
pinSetupFragmentManager.beginTransaction().replace(R.id.content_frame, pinSetupFragment).commit();
}
}
userPin() затем запустить в моем OnCreate();