שינויים בסוגים של שירותים שפועלים בחזית ב-Android 15

אנחנו מבצעים את השינויים הבאים בסוגים של שירותים שפועלים בחזית ב-Android 15.

המדיה נמצאת בעיבוד

סוג השירות שפועל בחזית שצריך להצהיר עליו במניפסט בקטע
android:foregroundServiceType
mediaProcessing
הרשאה להצהרה במניפסט
FOREGROUND_SERVICE_MEDIA_PROCESSING
קבוע להעברה אל startForeground()
FOREGROUND_SERVICE_TYPE_MEDIA_PROCESSING
דרישות מוקדמות בסביבת זמן הריצה
ללא
תיאור

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

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

  • כשפעולת ההמרה מסתיימת או מגיעה למצב של כשל, צריך לגרום לשירות לקרוא ל-Service.stopForeground() ול-Service.stopSelf() כדי להפסיק את השירות לגמרי.

אם חלפו פרק הזמן של הזמן הקצוב לתפוגה, המערכת קוראת לשיטה Service.onTimeout(int, int) של השירות. בשלב הזה, לשירות יש כמה שניות כדי להתקשר אל Service.stopSelf(). אם השירות לא קורא ל-Service.stopSelf(), תתרחש הודעת ANR עם הודעת השגיאה הבאה: "A foreground service of <fgs_type> did not stop within its timeout: <component_name>".

הערה: השדה Service.onTimeout(int, int) לא זמין ב-Android מגרסה 14 ומטה. במכשירים עם הגרסאות האלה, אם שירות עיבוד מדיה מגיע למועד הקצוב לתפוגה, המערכת מאחסנת את האפליקציה במטמון באופן מיידי. לכן, האפליקציה לא צריכה להמתין לקבלת התראה על תפוגת הזמן. במקום זאת, היא צריכה לסיים את השירות שפועל בחזית או לשנות אותו לשירות שפועל ברקע בהקדם האפשרי.

מצלמה

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

סנכרון נתונים

אפליקציות שמטרגטות ל-Android מגרסה 15 ואילך לא יכולות להפעיל שירות שפועל בחזית לסנכרון נתונים ממקלט שידורים מסוג BOOT_COMPLETED. מידע נוסף זמין במאמר הגבלות על מקבלי שידור מסוג BOOT_COMPLETED שמפעילים שירותים בחזית.

הפעלת מדיה

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

הקרנת מדיה

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

מיקרופון

אפליקציות שמטרגטות ל-Android מגרסה 14 ואילך לא יכולות להפעיל שירות מיקרופון בחזית ממקלט שידורים מסוג BOOT_COMPLETED. מידע נוסף זמין במאמר הגבלות על מקבלי שידור מסוג BOOT_COMPLETED שמפעילים שירותים בחזית.

שיחת טלפון

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