ما در حال ایجاد تغییرات زیر در انواع سرویس های پیش زمینه با اندروید 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 با این پیغام خطا رخ می دهد: "یک سرویس پیش زمینه <fgs_type> در مدت زمان توقف خود متوقف نشد: <component_name> ".توجه :
Service.onTimeout(int, int)
در اندروید 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 (سطح API 34) یا بالاتر را هدف قرار میدهند، مجاز به راهاندازی سرویس پیشزمینه میکروفون از گیرنده پخش BOOT_COMPLETED
نیستند. برای اطلاعات بیشتر، به محدودیتهای گیرندههای پخش BOOT_COMPLETED
در راهاندازی خدمات پیشزمینه مراجعه کنید.
تماس تلفنی
برنامههایی که Android 15 یا بالاتر را هدف قرار میدهند، مجاز به راهاندازی سرویس پیشزمینه تماس تلفنی از گیرنده پخش BOOT_COMPLETED
نیستند. برای اطلاعات بیشتر، به محدودیتهای گیرندههای پخش BOOT_COMPLETED
در راهاندازی خدمات پیشزمینه مراجعه کنید.