Tôi có hai hoạt động và tôi muốn chuyển đổi giữa chúng mà không cần tạo lại hoặc sao chép chúng. Mỗi hoạt động có một nút sẽ gửi người dùng đến người khác bằng ý định với FLAG_ACTIVITY_REORDER_TO_TOP.FLAG_ACTIVITY_REORDER_TO_TOP khiến RuntimeException hoặc màn hình đen xoay vòng
này hoạt động tuyệt vời trừ các điều kiện sau đây:
- bắt đầu ứng dụng tươi sau khi một lực lượng gần
- nhấn nút để đi vào hoạt động 2
- nhấn nút quay trở lại hoạt động 1
- xoay màn hình.
Tại thời điểm này, ứng dụng gặp sự cố với "Thực hiện ngừng hoạt động chưa được tiếp tục". Lollipop chỉ cho thấy một màn hình màu đen.
Thật kỳ lạ, nếu bạn chuyển đến màn hình chính trước bước 4 và tiếp tục ứng dụng và sau đó xoay điều kiện trên không có bất kỳ sự cố nào và ứng dụng hoạt động tốt cho đến khi đóng/khởi động lại.
Tình trạng này dường như cụ thể đối với FLAG_ACTIVITY_REORDER_TO_TOP và xảy ra trên Android 5.0 và 4.4 và chỉ khi khởi động mới.
Tôi không có thuộc tính nào về các hoạt động trong tệp kê khai. Bố cục chỉ có một nút gọi phương thức như sau:
MainActivity:
public void goSecond(View v) {
Intent i = new Intent(this, SecondActivity.class);
i.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
startActivity(i);
}
SecondActivity:
public void goFirst(View v) {
Intent i = new Intent(this, MainActivity.class);
i.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
startActivity(i);
}
Tôi không ghi đè bất kỳ phương pháp vòng đời nào khác hoặc làm bất kỳ thứ gì khác.
Bất kỳ ý tưởng nào?