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

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

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

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

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

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

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

adb shell cmd activity stop-app PACKAGE_NAME