Flow Image I am facing a strange issue related to saving the state in Android.
When I turn on Don't Keep Activities option in Android(From Developer Option). Then if I launch Activity B(which launches Fragment B) from Fragment A (launched by Activity A). Then my onSavedInstance
method is getting called in Fragment A but in OnCreate
method of Fragment A, I am getting received bundle as null.
And above is inconsistent means sometimes (Specially reproduced when clear the data Android).
In my Activity A in method onSaveInstanceState I have saved my Fragment A with below impl -:
getSupportFragmentManager().putFragment(Bundle,FRAGMENT_TAG,instanceOFFragA);
Also in my onCreate I am trying to retrieve the saved Fragment A with below impl -:
if (savedInstanceState != null) {
args = savedInstanceState;
Fragment fragment = getSupportFragmentManager().getFragment(savedInstanceState, FRAGMENT_TAG);
if (fragment != null && fragment.getClass().equals(FragA.class)) {
instanceOfFragA = (FragA) getSupportFragmentManager().getFragment(savedInstanceState, FRAGMENT_TAG);
}
}
But in OnCreate
I am getting instance of Fragment C (which is basically a Registration Fragment which have Login & Register button, Login click will launch LoginActivity which inturn launches LoginFragment. If login get success it calls back on Activity A which launches Fragment A(as login is success)).