אנחנו מבצעים את השינויים הבאים בסוגים של שירותים שפועלים בחזית ב-Android 15.
המדיה נמצאת בעיבוד
- סוג השירות שפועל בחזית שצריך להצהיר עליו במניפסט בקטע
android:foregroundServiceTypemediaProcessing- הרשאה להצהרה במניפסט
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 ומטה. במכשירים עם הגרסאות האלה, אם שירות עיבוד מדיה מגיע למועד הקצוב לתפוגה, המערכת מאחסנת את האפליקציה במטמון באופן מיידי. לכן, האפליקציה לא צריכה להמתין לקבלת התראה על תפוגת הזמן. במקום זאת, היא צריכה לסיים את השירות שפועל בחזית או לשנות אותו לשירות שפועל ברקע בהקדם האפשרי.
מצלמה
Apps that target Android 15 or higher are not allowed to launch a
camera foreground service from a BOOT_COMPLETED broadcast receiver.
For more information, see
Restrictions on BOOT_COMPLETED broadcast receivers launching foreground
services.
סנכרון נתונים
אפליקציות שמטרגטות ל-Android מגרסה 15 ואילך לא יכולות להפעיל שירות שפועל בחזית לסנכרון נתונים ממקלט שידורים מסוג BOOT_COMPLETED.
מידע נוסף זמין במאמר הגבלות על מקבלי שידור מסוג BOOT_COMPLETED שמפעילים שירותים בחזית.
הפעלת מדיה
Apps that target Android 15 or higher are not allowed to launch a
media playback foreground service from a BOOT_COMPLETED broadcast receiver.
For more information, see
Restrictions on BOOT_COMPLETED broadcast receivers launching foreground
services.
הקרנת מדיה
אפליקציות שמטרגטות את Android מגרסה 15 ואילך לא יכולות להפעיל שירות חזית של הקרנת מדיה ממקלט שידורים מסוג BOOT_COMPLETED.
מידע נוסף זמין במאמר הגבלות על מקבלי שידור מסוג BOOT_COMPLETED שמפעילים שירותים בחזית.
מיקרופון
אפליקציות שמטרגטות ל-Android מגרסה 14 ואילך לא יכולות להפעיל שירות מיקרופון בחזית ממקלט שידורים מסוג BOOT_COMPLETED.
מידע נוסף זמין במאמר הגבלות על מקבלי שידור מסוג BOOT_COMPLETED שמפעילים שירותים בחזית.
שיחת טלפון
אפליקציות שמטרגטות את Android מגרסה 15 ואילך לא יכולות להפעיל שירות שפועל בחזית של שיחת טלפון ממקלט שידורים מסוג BOOT_COMPLETED.
מידע נוסף זמין במאמר הגבלות על מקבלי שידור מסוג BOOT_COMPLETED שמפעילים שירותים בחזית.