У меня есть уведомление, которое запускает мою деятельность и передает сообщения, используя функцию putExtra () намерения. Затем сообщение отображается пользователю в функции onCreate действия. Когда приложение перезапускается из-за изменения ориентации, сообщение отображается снова, поскольку оно все еще находится в связанных данных намерения.
Как я могу удалить лишние данные?
Я попробовал следующее:
Bundle bundle = getIntent().getExtras();
if (bundle.getBoolean("showMessage")) {
// ... show message that is in bundle.getString("message")
// remove message
bundle.remove("showMessage");
}
Но сообщение все равно будет отображаться после изменения ориентации, похоже, что использованное намерение - не то, которое я изменил, а оригинальное. Единственный обходной путь, который я нашел, - это дополнительно сохранить showMessage в o nSaveInstanceState()
.
Есть ли другой способ? Или это путь?