اسناد سرویس پیش زمینه رفتار فعلی سرویس های پیش زمینه اندروید را توصیف می کند. این اسناد راهنماییهایی را در مورد بهترین شیوهها برای اکثر برنامهها ارائه میدهد، چه آنها آخرین نسخه Android را هدف قرار دهند یا نه.
این صفحه برخی از مهمترین تغییرات اخیر در سرویسهای پیشزمینه و پیامدهای برنامههایی را که جدیدترین نسخه پلتفرم اندروید را هدف قرار نمیدهند، توضیح میدهد. در بسیاری از موارد، بهترین روشهایی که برای برنامههایی که سطوح API پایینتری را هدف قرار میدهند اختیاری بودند، برای برنامههایی که سطوح بالاتر API را هدف قرار میدهند، اجباری میشوند.
Android 9 (سطح API 28)
Android 9 مجوز FOREGROUND_SERVICE
را معرفی می کند. برنامههایی که روی Android 9 اجرا میشوند و از خدمات پیشزمینه استفاده میکنند باید این مجوز را داشته باشند.
اگر برنامهای که سطح API 28 یا بالاتر را هدف قرار میدهد، بدون درخواست مجوز FOREGROUND_SERVICE
، اقدام به ایجاد یک سرویس پیشزمینه کند، سیستم یک SecurityException
ایجاد میکند.
Android 10 (سطح API 29)
الزامات زیر برای برنامه هایی اعمال می شود که سطح API 29 یا بالاتر را هدف قرار می دهند:
- اگر سرویسهای پیشزمینه برنامهای از اطلاعات مکان استفاده میکنند، برنامه باید سرویس را با نوع سرویس
location
اعلام کند.
Android 11 (سطح API 30)
الزامات زیر برای برنامه هایی اعمال می شود که سطح API 30 یا بالاتر را هدف قرار می دهند:
- اگر سرویسهای پیشزمینه برنامهای از دوربین یا میکروفون استفاده میکنند، برنامه باید سرویس را به ترتیب با نوع سرویس
camera
یاmicrophone
اعلام کند.
Android 12 (سطح API 31)
الزامات زیر برای برنامه هایی اعمال می شود که سطح API 31 یا بالاتر را هدف قرار می دهند:
- برنامهها مجاز به راهاندازی سرویسهای پیشزمینه در زمانی که برنامه در پسزمینه است، به استثنای چند مورد خاص، ندارند. برای اطلاعات بیشتر و اطلاعات در مورد استثناهای این قانون، به محدودیتهای شروع سرویس پیشزمینه از پسزمینه مراجعه کنید.
Android 14 (سطح API 34)
الزامات زیر برای برنامه هایی اعمال می شود که سطح API 34 یا بالاتر را هدف قرار می دهند:
- شما باید تمام سرویس های پیش زمینه را با انواع خدمات آنها اعلام کنید .
- برنامهها باید نوع مجوز مناسب را برای نوع کاری که سرویس پیشزمینه انجام میدهد درخواست کنند. هر نوع سرویس پیش زمینه دارای یک نوع مجوز مربوطه است. برای مثال، اگر برنامهای سرویس پیشزمینهای را راهاندازی کند که از دوربین استفاده میکند، باید مجوزهای
FOREGROUND_SERVICE
وFOREGROUND_SERVICE_CAMERA
را درخواست کنید. اگر برنامهای سطح API 34 یا بالاتر را هدف قرار دهد و مجوز خاص مناسب را درخواست نکند، سیستم یکSecurityException
ایجاد میکند.
Android 15 (سطح API 35)
الزامات زیر برای برنامه هایی اعمال می شود که سطح API 35 یا بالاتر را هدف قرار می دهند:
- محدودیتهای جدیدی برای مدت زمان اجرای سرویس پیشزمینه
dataSync
وجود دارد. این محدودیت ها در رفتار مهلت زمانی سرویس پیش زمینه توضیح داده شده است. محدودیتهای مشابهی برای نوع سرویس پیشزمینهmediaProcessing
(جدید در Android 15) اعمال میشود. - خدمات پیش زمینه
BOOT_COMPLETED
دیگر مجاز به راه اندازی برخی از خدمات پیش زمینه نیستند . - برنامههایی که مجوز
SYSTEM_ALERT_WINDOW
را دارند، تنها در صورتی مجاز به راهاندازی سرویسهای پیشزمینه از پسزمینه هستند که در حال حاضر یک پنجره همپوشانی قابل مشاهده داشته باشند (یا اگر یکی از معافیتهای دیگر از محدودیتهای شروع پسزمینه را داشته باشند). پیش از این، معافیت برای آن برنامهها گستردهتر بود.
اسناد سرویس پیش زمینه رفتار فعلی سرویس های پیش زمینه اندروید را توصیف می کند. این اسناد راهنماییهایی را در مورد بهترین شیوهها برای اکثر برنامهها ارائه میدهد، چه آنها آخرین نسخه Android را هدف قرار دهند یا نه.
این صفحه برخی از مهمترین تغییرات اخیر در سرویسهای پیشزمینه و پیامدهای برنامههایی را که جدیدترین نسخه پلتفرم اندروید را هدف قرار نمیدهند، توضیح میدهد. در بسیاری از موارد، بهترین روشهایی که برای برنامههایی که سطوح API پایینتری را هدف قرار میدهند اختیاری بودند، برای برنامههایی که سطوح بالاتر API را هدف قرار میدهند، اجباری میشوند.
Android 9 (سطح API 28)
Android 9 مجوز FOREGROUND_SERVICE
را معرفی می کند. برنامههایی که روی Android 9 اجرا میشوند و از خدمات پیشزمینه استفاده میکنند باید این مجوز را داشته باشند.
اگر برنامهای که سطح API 28 یا بالاتر را هدف قرار میدهد، بدون درخواست مجوز FOREGROUND_SERVICE
، اقدام به ایجاد یک سرویس پیشزمینه کند، سیستم یک SecurityException
ایجاد میکند.
Android 10 (سطح API 29)
الزامات زیر برای برنامه هایی اعمال می شود که سطح API 29 یا بالاتر را هدف قرار می دهند:
- اگر سرویسهای پیشزمینه برنامهای از اطلاعات مکان استفاده میکنند، برنامه باید سرویس را با نوع سرویس
location
اعلام کند.
Android 11 (سطح API 30)
الزامات زیر برای برنامه هایی اعمال می شود که سطح API 30 یا بالاتر را هدف قرار می دهند:
- اگر سرویسهای پیشزمینه برنامهای از دوربین یا میکروفون استفاده میکنند، برنامه باید سرویس را به ترتیب با نوع سرویس
camera
یاmicrophone
اعلام کند.
Android 12 (سطح API 31)
الزامات زیر برای برنامه هایی اعمال می شود که سطح API 31 یا بالاتر را هدف قرار می دهند:
- برنامهها مجاز به راهاندازی سرویسهای پیشزمینه در زمانی که برنامه در پسزمینه است، به استثنای چند مورد خاص، ندارند. برای اطلاعات بیشتر و اطلاعات در مورد استثناهای این قانون، به محدودیتهای شروع سرویس پیشزمینه از پسزمینه مراجعه کنید.
Android 14 (سطح API 34)
الزامات زیر برای برنامه هایی اعمال می شود که سطح API 34 یا بالاتر را هدف قرار می دهند:
- شما باید تمام سرویس های پیش زمینه را با انواع خدمات آنها اعلام کنید .
- برنامهها باید نوع مجوز مناسب را برای نوع کاری که سرویس پیشزمینه انجام میدهد درخواست کنند. هر نوع سرویس پیش زمینه دارای یک نوع مجوز مربوطه است. برای مثال، اگر برنامهای سرویس پیشزمینهای را راهاندازی کند که از دوربین استفاده میکند، باید مجوزهای
FOREGROUND_SERVICE
وFOREGROUND_SERVICE_CAMERA
را درخواست کنید. اگر برنامهای سطح API 34 یا بالاتر را هدف قرار دهد و مجوز خاص مناسب را درخواست نکند، سیستم یکSecurityException
ایجاد میکند.
Android 15 (سطح API 35)
الزامات زیر برای برنامه هایی اعمال می شود که سطح API 35 یا بالاتر را هدف قرار می دهند:
- محدودیتهای جدیدی برای مدت زمان اجرای سرویس پیشزمینه
dataSync
وجود دارد. این محدودیت ها در رفتار مهلت زمانی سرویس پیش زمینه توضیح داده شده است. محدودیتهای مشابهی برای نوع سرویس پیشزمینهmediaProcessing
(جدید در Android 15) اعمال میشود. - خدمات پیش زمینه
BOOT_COMPLETED
دیگر مجاز به راه اندازی برخی از خدمات پیش زمینه نیستند . - برنامههایی که مجوز
SYSTEM_ALERT_WINDOW
را دارند، تنها در صورتی مجاز به راهاندازی سرویسهای پیشزمینه از پسزمینه هستند که در حال حاضر یک پنجره همپوشانی قابل مشاهده داشته باشند (یا اگر یکی از معافیتهای دیگر از محدودیتهای شروع پسزمینه را داشته باشند). پیش از این، معافیت برای آن برنامهها گستردهتر بود.
اسناد سرویس پیش زمینه رفتار فعلی سرویس های پیش زمینه اندروید را توصیف می کند. این اسناد راهنماییهایی را در مورد بهترین شیوهها برای اکثر برنامهها ارائه میدهد، چه آنها آخرین نسخه Android را هدف قرار دهند یا نه.
این صفحه برخی از مهمترین تغییرات اخیر در سرویسهای پیشزمینه و پیامدهای برنامههایی را که جدیدترین نسخه پلتفرم اندروید را هدف قرار نمیدهند، توضیح میدهد. در بسیاری از موارد، بهترین روشهایی که برای برنامههایی که سطوح API پایینتری را هدف قرار میدهند اختیاری بودند، برای برنامههایی که سطوح بالاتر API را هدف قرار میدهند، اجباری میشوند.
Android 9 (سطح API 28)
Android 9 مجوز FOREGROUND_SERVICE
را معرفی می کند. برنامههایی که روی Android 9 اجرا میشوند و از خدمات پیشزمینه استفاده میکنند باید این مجوز را داشته باشند.
اگر برنامهای که سطح API 28 یا بالاتر را هدف قرار میدهد، بدون درخواست مجوز FOREGROUND_SERVICE
، اقدام به ایجاد یک سرویس پیشزمینه کند، سیستم یک SecurityException
ایجاد میکند.
Android 10 (سطح API 29)
الزامات زیر برای برنامه هایی اعمال می شود که سطح API 29 یا بالاتر را هدف قرار می دهند:
- اگر سرویسهای پیشزمینه برنامهای از اطلاعات مکان استفاده میکنند، برنامه باید سرویس را با نوع سرویس
location
اعلام کند.
Android 11 (سطح API 30)
الزامات زیر برای برنامه هایی اعمال می شود که سطح API 30 یا بالاتر را هدف قرار می دهند:
- اگر سرویسهای پیشزمینه برنامهای از دوربین یا میکروفون استفاده میکنند، برنامه باید سرویس را به ترتیب با نوع سرویس
camera
یاmicrophone
اعلام کند.
Android 12 (سطح API 31)
الزامات زیر برای برنامه هایی اعمال می شود که سطح API 31 یا بالاتر را هدف قرار می دهند:
- برنامهها مجاز به راهاندازی سرویسهای پیشزمینه در زمانی که برنامه در پسزمینه است، به استثنای چند مورد خاص، ندارند. برای اطلاعات بیشتر و اطلاعات در مورد استثناهای این قانون، به محدودیتهای شروع سرویس پیشزمینه از پسزمینه مراجعه کنید.
Android 14 (سطح API 34)
الزامات زیر برای برنامه هایی اعمال می شود که سطح API 34 یا بالاتر را هدف قرار می دهند:
- شما باید تمام سرویس های پیش زمینه را با انواع خدمات آنها اعلام کنید .
- برنامهها باید نوع مجوز مناسب را برای نوع کاری که سرویس پیشزمینه انجام میدهد درخواست کنند. هر نوع سرویس پیش زمینه دارای یک نوع مجوز مربوطه است. برای مثال، اگر برنامهای سرویس پیشزمینهای را راهاندازی کند که از دوربین استفاده میکند، باید مجوزهای
FOREGROUND_SERVICE
وFOREGROUND_SERVICE_CAMERA
را درخواست کنید. اگر برنامهای سطح API 34 یا بالاتر را هدف قرار دهد و مجوز خاص مناسب را درخواست نکند، سیستم یکSecurityException
ایجاد میکند.
Android 15 (سطح API 35)
الزامات زیر برای برنامه هایی اعمال می شود که سطح API 35 یا بالاتر را هدف قرار می دهند:
- محدودیتهای جدیدی برای مدت زمان اجرای سرویس پیشزمینه
dataSync
وجود دارد. این محدودیت ها در رفتار مهلت زمانی سرویس پیش زمینه توضیح داده شده است. محدودیتهای مشابهی برای نوع سرویس پیشزمینهmediaProcessing
(جدید در Android 15) اعمال میشود. - خدمات پیش زمینه
BOOT_COMPLETED
دیگر مجاز به راه اندازی برخی از خدمات پیش زمینه نیستند . - برنامههایی که مجوز
SYSTEM_ALERT_WINDOW
را دارند، تنها در صورتی مجاز به راهاندازی سرویسهای پیشزمینه از پسزمینه هستند که در حال حاضر یک پنجره همپوشانی قابل مشاهده داشته باشند (یا اگر یکی از معافیتهای دیگر از محدودیتهای شروع پسزمینه را داشته باشند). پیش از این، معافیت برای آن برنامهها گستردهتر بود.