אנחנו מבצעים את השינויים הבאים בסוגים של שירותים שפועלים בחזית ב-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
שמפעילים שירותים בחזית.