טיפול בעצירה ביוזמת המשתמש של אפליקציות שמפעילות שירותים בחזית

החל מ-Android 13 (רמת API ‏33), המשתמשים יכולים להשלים תהליך עבודה מחלונית ההתראות כדי לעצור אפליקציה שפועלים בה שירותים בחזית, בלי קשר לגרסת ה-SDK שהאפליקציה מטרגטת. האפשרות הזו, שנקראת מנהל המשימות, מציגה רשימה של אפליקציות שמפעילות כרגע שירות בחזית.

בתחתית חלונית ההתראות יש כפתור שמציין את מספר האפליקציות שפועלות כרגע ברקע. כשלוחצים על הכפתור הזה, מופיעה תיבת דו-שיח עם רשימה של שמות של אפליקציות שונות. הכפתור "עצירה" נמצא משמאל לכל אפליקציה.
איור 1. תהליך העבודה של מנהל המשימות במכשירים עם Android מגרסה 13 ואילך.

הרשימה הזו נקראת אפליקציות פעילות. לצד כל אפליקציה מופיע הלחצן עצירה. באיור 1 מוצג תהליך העבודה של מנהל המשימות במכשיר עם Android 13.

כשהמשתמש לוחץ על הכפתור Stop (עצירה) לצד האפליקציה במנהל המשימות, מתרחשות הפעולות הבאות:

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

כדי לבדוק שהאפליקציה פועלת כמו שצריך בזמן שהמשתמש עוצר אותה ואחרי שהוא עוצר אותה, מריצים את פקודת ה-ADB הבאה בחלון הטרמינל:

adb shell cmd activity stop-app PACKAGE_NAME