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

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

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

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

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

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

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

adb shell cmd activity stop-app PACKAGE_NAME