2012-10-18 48 views
5

Tôi gặp sự cố với điều hướng trong ứng dụng Android với FLAG_ACTIVITY_NO_HISTORYstartActivityForResult.điều hướng trong ứng dụng Android với FLAG_ACTIVITY_NO_HISTORY & startActivityForResult

Dưới đây là một ví dụ:

Tôi có trang A và trang B. Tôi đi từ A đến B với FLAG_ACTIVITY_NO_HISTORY. Sau đó, tôi chụp ảnh với startActivityForResult.

Vấn đề là, bây giờ tôi lấy lại cho trang A, nhưng tôi muốn lấy lại cho trang B.

Khi tôi loại bỏ các FLAG_ACTIVITY_NO_HISTORY Tôi có trang B trong lịch sử mà tôi không muốn có .

Cách khắc phục sự cố này?

+0

Vui lòng giải thích điều hướng phù thủy của bạn mà bạn muốn có. Bạn chỉ đang hiển thị hai kịch bản. –

Trả lời

2

Sử dụng lịch sử, nhưng khi bạn quay lại trang B, chỉ cần gọi this.finish(). Hoạt động này sẽ kết thúc. Bạn có thể sẽ thấy trang B của bạn trong một giây (có thể phụ thuộc vào mã của bạn, để kiểm tra).

Hy vọng giải pháp này có thể giúp bạn.

0

Nó thực sự phụ thuộc vào mã của bạn.

Hy vọng bạn đã thử bằng cách này.

Intent intent = new Intent (this, SomeOtherClass.class);

intent.setFlags (Intent.FLAG_ACTIVITY_NO_HISTORY); // không giữ ý định này trong lịch sử.

startActivity (intent);

Hãy thử hoặc tải lên mã của bạn để tôi có thể xem chi tiết.

1

Bạn đang chuyển từ

1. Trang A -> Trang B với cờ FLAG_ACTIVITY_NO_HISTORY

2. Bạn bắt đầu một hoạt động từ Trang B với startActivityForResult

Bây giờ khi bạn đi không tìm thấy trang bcoz của cờ FLAG_ACTIVITY_NO_HISTORY.

Bây giờ loại bỏ các lá cờ FLAG_ACTIVITY_NO_HISTORY từ Page B activty và khi bạn nhận được gọi lại trong onActivityResult() của Page B, finish() hoạt động page B của bạn.

Các vấn đề liên quan