เมื่อผู้ใช้ต้องการออกจากกิจกรรมที่เปิดอยู่พวกเขาควรกดปุ่มที่โหลดกิจกรรมแรกที่ทำงานเมื่อแอปพลิเคชันของคุณเริ่มต้นล้างกิจกรรมอื่น ๆ ทั้งหมดจากนั้นให้กิจกรรมสุดท้ายที่เหลือเสร็จสิ้น ให้รหัสต่อไปนี้ทำงานเมื่อผู้ใช้กดปุ่มออก ในกรณีของฉันLoginActivity
เป็นกิจกรรมแรกในโปรแกรมของฉันที่จะเรียกใช้
Intent intent = new Intent(getApplicationContext(), LoginActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.putExtra("EXIT", true);
startActivity(intent);
LoginActivity
รหัสข้างต้นล้างกิจกรรมทั้งหมดยกเว้น จากนั้นวางโค้ดต่อไปนี้ไว้ภายในLoginActivity
's onCreate(...)
เพื่อฟังเวลาที่LoginActivity
ถูกสร้างใหม่และสัญญาณ' EXIT 'ถูกส่งผ่าน:
if (getIntent().getBooleanExtra("EXIT", false)) {
finish();
}
เหตุใดการสร้างปุ่มออกใน Android จึงเป็นเรื่องยาก
Android พยายามอย่างหนักเพื่อกีดกันคุณจากการมีปุ่ม "ออก" ในแอปพลิเคชันของคุณเพราะพวกเขาต้องการให้ผู้ใช้ไม่สนใจว่าโปรแกรมที่พวกเขาใช้นั้นกำลังทำงานอยู่เบื้องหลังหรือไม่
นักพัฒนาระบบปฏิบัติการ Android ต้องการให้โปรแกรมของคุณสามารถอยู่รอดได้เมื่อมีการปิดเครื่องและปิดเครื่องโดยไม่คาดคิดและเมื่อผู้ใช้รีสตาร์ทโปรแกรมพวกเขาจะไปรับที่ที่ค้างไว้ ดังนั้นผู้ใช้สามารถรับสายโทรศัพท์ในขณะที่ใช้แอปพลิเคชันของคุณและเปิดแผนที่ซึ่งกำหนดให้แอปพลิเคชันของคุณได้รับการปลดปล่อยทรัพยากรเพิ่มเติม
เมื่อผู้ใช้ดำเนินการต่อใบสมัครของคุณพวกเขาจะเลือกที่ถูกทิ้งไว้โดยไม่มีการหยุดชะงัก ปุ่มออกนี้กำลังแย่งชิงพลังงานจากตัวจัดการกิจกรรมซึ่งอาจทำให้เกิดปัญหากับวงจรชีวิตของโปรแกรม Android ที่ได้รับการจัดการโดยอัตโนมัติ