Khi người dùng muốn thoát tất cả các hoạt động đang mở , họ nên nhấn nút tải Hoạt động đầu tiên chạy khi ứng dụng của bạn khởi động, xóa tất cả các hoạt động khác, sau đó kết thúc hoạt động còn lại cuối cùng. Có đoạn mã sau chạy khi người dùng nhấn nút thoát. Trong trường hợp của tôi, LoginActivity
là hoạt động đầu tiên trong chương trình của tôi để chạy.
Intent intent = new Intent(getApplicationContext(), LoginActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.putExtra("EXIT", true);
startActivity(intent);
Các mã trên xóa tất cả các hoạt động ngoại trừ LoginActivity
. Sau đó đặt đoạn mã sau bên trong LoginActivity
's onCreate(...)
, để lắng nghe khi LoginActivity
được tái tạo và '' tín hiệu EXIT đã được thông qua:
if (getIntent().getBooleanExtra("EXIT", false)) {
finish();
}
Tại sao làm một nút thoát trong Android rất khó?
Android cố gắng hết sức để không khuyến khích bạn có nút "thoát" trong ứng dụng của mình, vì họ muốn người dùng không bao giờ quan tâm đến việc các chương trình họ sử dụng có chạy nền hay không.
Các nhà phát triển hệ điều hành Android muốn chương trình của bạn có thể tồn tại khi tắt máy đột ngột và tắt nguồn điện thoại và khi người dùng khởi động lại chương trình, họ sẽ chọn đúng nơi họ rời đi. Vì vậy, người dùng có thể nhận được một cuộc gọi điện thoại trong khi họ sử dụng ứng dụng của bạn và mở các bản đồ yêu cầu ứng dụng của bạn được giải phóng để có thêm tài nguyên.
Khi người dùng tiếp tục ứng dụng của bạn, họ sẽ chọn đúng nơi họ rời đi mà không bị gián đoạn. Nút thoát này đang chiếm quyền lực từ trình quản lý hoạt động, có khả năng gây ra sự cố với vòng đời chương trình Android được quản lý tự động.