מסך 'פריטים אחרונים'

מסך האפליקציות האחרונות, שנקרא גם מסך הסקירה הכללית, רשימת המשימות האחרונות או מסך האפליקציות האחרונות, הוא ממשק משתמש ברמת המערכת שמציג רשימה של פעילויות ומשימות שהייתה אליהן גישה לאחרונה. המשתמש יכול לנווט ברשימה, לבחור משימה כדי להמשיך אותה או להסיר משימה מהרשימה על ידי החלקה שלה.

במסך הפריטים האחרונים נעשה שימוש במודל שמתמקד במסמכים – שהוצג ב-Android 5.0 (רמת API‏ 21) – שבו יכולים להופיע כמה מופעים של אותה פעילות שמכילה מסמכים שונים כמשימות במסך הפריטים האחרונים. לדוגמה, יכול להיות שב-Google Drive תהיה משימה לכל אחד מכמה מסמכי Google. כל מסמך מופיע כמשימה במסך 'הפריטים האחרונים':

מסך הפריטים האחרונים עם שני מסמכים מ-Google Drive, כל אחד מהם מוצג כמשימה נפרדת.

דוגמה נפוצה נוספת היא כשמשתמש משתמש בדפדפן ומקיש על שיתוף > Gmail. מופיע המסך כתיבת הודעה באפליקציית Gmail. אם תקישו על לחצן הפריטים האחרונים, תראו ש-Chrome ו-Gmail פועלים כמשימות נפרדות:

מסך האפליקציות האחרונות עם Chrome ו-Gmail שפועלות כמשימות נפרדות.

בדרך כלל, המערכת מגדירה איך המשימות והפעילויות שלכם מוצגות במסך 'מהזמן האחרון'. אין צורך לשנות את ההתנהגות הזו. עם זאת, האפליקציה יכולה לקבוע איך ומתי הפעילויות יופיעו במסך הפריטים האחרונים.

הסיווג ActivityManager.AppTask מאפשר לכם לנהל משימות, והדגלים של הפעילות בסיווג Intent מאפשרים לכם לציין מתי פעילות מתווספת למסך הפעילויות האחרונות או מוסרת ממנו. בנוסף, המאפיינים <activity> מאפשרים להגדיר את ההתנהגות במניפסט.

הוספת משימות למסך 'האפליקציות האחרונות'

שימוש בדגלים של המחלקה Intent כדי להוסיף משימה מאפשר לכם לשלוט טוב יותר מתי ואיך מסמך נפתח או נפתח מחדש במסך 'פריטים אחרונים'. כשמשתמשים במאפיינים <activity>, אפשר לבחור אם המסמך תמיד ייפתח במשימה חדשה או אם ייעשה שימוש חוזר במשימה קיימת עבור המסמך.

שימוש בדגל הכוונה להוספת משימה

כשיוצרים מסמך חדש לפעילות, קוראים לשיטה startActivity() ומעבירים אליה את הכוונה להפעיל את הפעילות. כדי להוסיף מעבר לוגי כך שהמערכת תתייחס לפעילות שלכם כמשימה חדשה במסך 'אחרונים', צריך להעביר את הדגל FLAG_ACTIVITY_NEW_DOCUMENT בשיטה addFlags() של Intent שמפעילה את הפעילות.

אם מגדירים את הדגל FLAG_ACTIVITY_MULTIPLE_TASK כשיוצרים את המסמך החדש, המערכת תמיד יוצרת משימה חדשה עם פעילות היעד כשורש. ההגדרה הזו מאפשרת לפתוח את אותו מסמך ביותר ממשימה אחת. בדוגמת הקוד הבאה אפשר לראות איך הפעילות הראשית עושה את זה ומתחילה את הפעילות החדשה מהקומפוזיציה:

private fun newDocumentIntent(context: Context): Intent =
    Intent(context, NewDocumentActivity::class.java).apply {
        addFlags(Intent.FLAG_ACTIVITY_NEW_DOCUMENT or Intent.FLAG_ACTIVITY_RETAIN_IN_RECENTS)
        putExtra(KEY_EXTRA_NEW_DOCUMENT_COUNTER, documentCounter++)
    }

@Composable
fun CreateDocumentButton() {
    val context = LocalContext.current
    Button(
        onClick = {
            val intent = newDocumentIntent(context)