Etkinliğimi başlatan ve intens'in putExtra() işlevini kullanarak bir iletiyi geçiren bir bildirim aldım. Mesaj daha sonra aktivitenin onCreate fonksiyonunda kullanıcıya gösterilir. Uygulama bir yönelim değişikliğinden dolayı yeniden başlatıldığında, mesaj yine de niyetin paketlenmiş verilerinde olduğu için tekrar gösterilir.Bir etkinlik oryantasyon değişikliğinden sonra yeniden oluşturulmadan önce intent bundle verilerini değiştirin
Ek verileri nasıl kaldırabilirim?
Bundle bundle = getIntent().getExtras();
if (bundle.getBoolean("showMessage")) {
// ... show message that is in bundle.getString("message")
// remove message
bundle.remove("showMessage");
}
Ama yönelim değişti sonra mesajı hala gösterilir, kullanılan niyet gibi görünüyor Değiştim bir, ama orijinal biri değil:
Aşağıdaki çalıştı. Bulduğum tek geçici çözüm, showMessage'ınSaveInstanceState()
'a ek olarak kaydetmektir. Başka bir yolu var mı? Yoksa bu yol mu?
Üzgünüm, -1. onSaveInstanceState, @CommonsWare tarafından belirtildiği gibi bunu yapmak için doğru yoldur. –