Tôi có thông báo bắt đầu hoạt động của mình và chuyển thư bằng hàm putExtra() của ý định. Thông báo sau đó được hiển thị cho người dùng trong chức năng onCreate của hoạt động. Khi ứng dụng được khởi động lại do thay đổi định hướng, thông báo được hiển thị lại vì nó vẫn nằm trong dữ liệu được nhóm của mục đích.Thay đổi dữ liệu gói ý định trước khi một hoạt động được tạo lại sau khi thay đổi hướng
Làm cách nào để xóa dữ liệu bổ sung?
tôi thử như sau:
Bundle bundle = getIntent().getExtras();
if (bundle.getBoolean("showMessage")) {
// ... show message that is in bundle.getString("message")
// remove message
bundle.remove("showMessage");
}
Nhưng sứ điệp vẫn sẽ được hiển thị sau khi định hướng thay đổi, có vẻ như mục đích sử dụng không phải là người tôi đã thay đổi, nhưng bản gốc. Cách giải quyết duy nhất tôi tìm thấy là lưu showMessage bổ sung trong o nSaveInstanceState()
. Có cách nào khác không? Hay đây là con đường để đi?
Rất tiếc, -1. 'onSaveInstanceState' là đúng cách để làm điều này, như được chỉ ra bởi @CommonsWare. –