ตรวจสอบว่าแอปกลับมาทำงานต่อจากแอปล่าสุดหรือจากไอคอนตัวเรียกใช้งานหรือไม่

ฉันต้องการแยกแยะเหตุการณ์ที่ผู้ใช้ใช้งานแอปของฉันต่อจากรายการ "แอปล่าสุด" หรือจากไอคอน Launcher อีกครั้ง แม้ว่าจะมีแอปที่ยังทำงานไม่เสร็จทำงานในเบื้องหลังก็ตาม

แอปของฉันเป็น Activity เดียวที่มี Fragments หลายรายการ พฤติกรรมที่ตั้งใจไว้คือหากผู้ใช้กลับมาทำงานต่อจาก "แอปล่าสุด" ฉันไม่ต้องทำอะไรเลย เนื่องจากพฤติกรรมเริ่มต้นจะนำพวกเขากลับมายังส่วนที่พวกเขาทิ้งไว้ อย่างไรก็ตาม เมื่อผู้ใช้เปิดแอปจากไอคอนอีกครั้ง ฉันต้องการป๊อปแฟรกเมนต์ทั้งหมดในตัวจัดการแฟรกเมนต์ของฉันไปที่แฟรกเมนต์แรก โดยพื้นฐานแล้วจะมีพฤติกรรมเหมือนกับการเริ่มต้นแอปใหม่

แม้ว่าในขณะนี้ แม้ว่าผู้ใช้จะแตะที่ไอคอนตัวเรียกใช้งาน แอปก็จะกลับมาทำงานต่อตามปกติเหมือนกับจากรายการ "แอปล่าสุด" โดยที่ไม่มีการเรียก onCreate() บน Activity ฉันได้ดูคำถามที่คล้ายกันแล้ว แต่ดูเหมือนว่าพวกเขาจะระบุว่ากิจกรรมนั้นถูกสร้างขึ้นใหม่เมื่อผู้ใช้เปิดจากไอคอนอีกครั้ง ซึ่งแปลกและไม่ใช่สิ่งที่ฉันสังเกตเห็น: แอป Android Resume จากรายการแอปพลิเคชันล่าสุด

มีความคิดอะไรบ้าง?


person Jason Hu    schedule 02.01.2015    source แหล่งที่มา
comment
ฉันไม่คิดว่าจะมีวิธีใด ๆ ในการทำเช่นนี้ขออภัย   -  person Alex K    schedule 02.01.2015
comment
นี่เป็นพฤติกรรมมาตรฐานของ Android ไม่มีความแตกต่างระหว่างการเปิดแอปผ่านไอคอนจากหน้าจอ HOME และการเปิดแอปโดยเลือกจากรายการงานล่าสุด การกระทำ 2 อย่างนี้เหมือนกันทุกประการและคุณไม่สามารถบอกความแตกต่างได้ คำตอบที่ยอมรับสำหรับคำถามที่คุณเชื่อมโยงในโพสต์ของคุณโชคไม่ดีที่ผิด :-(   -  person David Wasser    schedule 05.01.2015


คำตอบ (1)


คุณสามารถลองเพิ่มแอตทริบิวต์นี้ลงในไฟล์ Manifest สำหรับกิจกรรมของคุณได้

<activity>
   ...
   android:launchMode="singleTask"
</activity
person Ana Ilies    schedule 10.09.2020