Моя проблема заключалась в том, что я нуждался в постоянстве только в течение срока службы приложения (т. е. одного выполнения, включая запуск других под-действий в одном приложении и поворот устройства и т. д.). Я пробовал различные комбинации вышеупомянутых ответов, но не получал того, что хотел во всех ситуациях. В конце концов, для меня работала, чтобы получить ссылку на файл savedInstanceState во время onCreate:
mySavedInstanceState=savedInstanceState;
и использовать его для получения содержимого моей переменной, когда мне это нужно, в соответствии с:
if (mySavedInstanceState !=null) {
boolean myVariable = mySavedInstanceState.getBoolean("MyVariable");
}
Я использовал onSaveInstanceState
и onRestoreInstanceState
, как было предложено выше, но я думаю, что я мог бы или в качестве альтернативы использовать мой метод для сохранения переменной при ее изменении (например, используя putBoolean
)