คำถามติดแท็ก activity-stack

13
จะป้องกันการกลับไปทำกิจกรรมก่อนหน้าได้อย่างไร?
เมื่อกดปุ่ม BACK บนโทรศัพท์ฉันต้องการป้องกันกิจกรรมบางอย่างไม่ให้กลับไปที่กิจกรรมก่อนหน้า โดยเฉพาะฉันมีหน้าจอเข้าสู่ระบบและลงทะเบียนทั้งสองเริ่มกิจกรรมใหม่ที่เรียกว่าHomeScreenเมื่อประสบความสำเร็จเข้าสู่ระบบ / สมัครสมาชิกเกิดขึ้น เมื่อหน้าจอเริ่มต้นขึ้นฉันต้องการป้องกันไม่ให้ผู้ใช้สามารถกลับไปที่หน้าจอเข้าสู่ระบบหรือลงทะเบียนโดยกดปุ่ม BACK ฉันลองใช้Intent.FLAG_ACTIVITY_NO_HISTORYแต่เนื่องจากแอปพลิเคชันมีการรวม Facebook เมื่อมีการใช้ 'เข้าสู่ระบบด้วย Facebook' Facebook ควรกลับไปที่หน้าจอเข้าสู่ระบบเริ่มต้นดังนั้นฉันควรเก็บประวัติกิจกรรมเหล่านี้ไว้ ฉันคิดว่าจะเอาชนะพฤติกรรมของปุ่ม BACK HomeScreenเพื่อสิ้นสุดแอปพลิเคชันโดยตรงเมื่อกดปุ่มและใช้งาน @Override public void onBackPressed() { finish(); } แต่นั่นก็ไม่ได้ผลเช่นกัน

11
วิธีป้องกันหลายอินสแตนซ์ของกิจกรรมเมื่อเปิดตัวด้วย Intent ที่แตกต่างกัน
ฉันพบข้อบกพร่องในแอปพลิเคชันของฉันเมื่อเปิดตัวโดยใช้ปุ่ม"เปิด"บนแอป Google Play Store (ก่อนหน้านี้เรียกว่า Android Market) ดูเหมือนว่าการเปิดตัวจาก Play Store จะใช้วิธีที่แตกต่างIntentจากการเปิดใช้งานจากเมนูไอคอนแอปพลิเคชันของโทรศัพท์ ซึ่งนำไปสู่การเปิดตัวกิจกรรมเดียวกันหลายชุดซึ่งขัดแย้งกัน ตัวอย่างเช่นหากแอปของฉันประกอบด้วยกิจกรรม ABC ปัญหานี้อาจนำไปสู่ ​​ABCA หลายชุด ฉันพยายามใช้android:launchMode="singleTask"กับกิจกรรมทั้งหมดเพื่อแก้ไขปัญหานี้ แต่มีผลข้างเคียงที่ไม่ต้องการจากการล้างสแต็กกิจกรรมไปยังรูทเมื่อใดก็ตามที่ฉันกดปุ่ม HOME พฤติกรรมที่คาดไว้คือ: ABC -> HOME -> และเมื่อแอปได้รับการกู้คืนฉันต้องการ: ABC -> HOME -> ABC มีวิธีที่ดีในการป้องกันการเรียกใช้กิจกรรมประเภทเดียวกันหลายรายการโดยไม่ต้องรีเซ็ตเป็นกิจกรรมรูทเมื่อใช้ปุ่ม HOME หรือไม่?
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.