Вот подход без использования общих настроек. Я не проверял это, но оно должно работать ...
Если я вас правильно понимаю, вы переключаетесь между действиями Ex1
и Ex2
следующим образом:
Intent intent = new Intent(getBaseContext(), Ex1.class);
//you are probably putting some data in your intent like this:
intent.putExtra("myData", myData);
startActivity(intent);
Таким образом, при переключении на другое действие вы можете установить дополнительный логический флаг, указывающий, что ваше действие было переключено с другого действия. Поэтому, когда вы переходите на Ex1
, вставьте это в ваш Ex2
(и, возможно, во все другие действия, которые переключаются на Ex1
)
Intent intent = new Intent(getBaseContext(), Ex1.class);
intent.putExtra("switched", true);
startActivity(intent);
Затем просто поместите следующее условие в вашу Ex1
активность в место, где вы устанавливаете данные (обычно onCreate
метод)
//was activity switched to, or did application just start?
//if "switched" key isnt set in your intent, this just returns false
boolean wasActivitySwitchedTo = getIntent().getExtras().getBoolean("switched");
if(!wasActivitySwitchedTo) {
//application started - **do your value setting here**
...
} else {
//activity was switched to from another activity - **dont do your setting**
...
}