در مانیفست برنامه خود، هر یک از سرویس های پیش زمینه برنامه خود را با یک عنصر <service>
اعلام کنید. برای هر سرویس، از ویژگی android:foregroundServiceType
استفاده کنید تا مشخص کنید که سرویس چه نوع کاری را انجام می دهد.
علاوه بر این، هر گونه مجوز مورد نیاز خدمات پیش زمینه خود را درخواست کنید.
سازگاری نسخه
شرایط لازم برای اعلام خدمات پیش زمینه و درخواست مجوزها بسته به سطح API مورد نظر برنامه شما متفاوت است. این صفحه الزامات برنامههایی را توضیح میدهد که سطح API 34 یا بالاتر را هدف قرار میدهند. برای اطلاعات در مورد تغییرات خدمات پیش زمینه در نسخه های پلتفرم قبلی، به تغییرات سرویس های پیش زمینه مراجعه کنید.
خدمات پیش زمینه را در مانیفست برنامه اعلام کنید
کد زیر نحوه اعلام سرویس پیش زمینه پخش رسانه را نشان می دهد. ممکن است از سرویسی مانند این برای پخش موسیقی استفاده کنید.
<manifest xmlns:android="http://schemas.android.com/apk/res/android" ...>
<application ...>
<service
android:name=".MyMediaPlaybackService"
android:foregroundServiceType="mediaPlayback"
android:exported="false">
</service>
</application>
</manifest>
نکات کلیدی در مورد کد
در این مثال، این سرویس تنها یک نوع دارد،
media
. اگر چندین نوع برای سرویس شما اعمال می شود، آنها را با|
جدا کنید اپراتور به عنوان مثال، اگر سرویس شما از دوربین و میکروفون استفاده می کند، آن را به این صورت اعلام کنید:android:foregroundServiceType="camera|microphone"
بسته به اینکه برنامه شما چه سطح API را هدف قرار می دهد، ممکن است از شما خواسته شود که خدمات پیش زمینه را در مانیفست برنامه اعلام کنید. الزامات سطوح API خاص در تغییرات خدمات پیش زمینه توضیح داده شده است.
اگر بخواهید یک سرویس پیش زمینه ایجاد کنید و نوع آن در مانیفست اعلام نشده باشد، سیستم با فراخوانی
startForeground()
یکMissingForegroundServiceTypeException
می اندازد.حتی زمانی که نیازی به آن نیست، بهترین روش این است که همه خدمات پیش زمینه خود را اعلام کنید و انواع خدمات آنها را ارائه دهید.
مجوزهای سرویس پیش زمینه را درخواست کنید
کد زیر نحوه درخواست مجوز برای سرویس پیش زمینه ای که از دوربین استفاده می کند را نشان می دهد.
<manifest xmlns:android="http://schemas.android.com/apk/res/android" ...>
<uses-permission android:name="android.permission.FOREGROUND_SERVICE"/>
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_CAMERA"/>
<application ...>
...
</application>
</manifest>
نکات کلیدی در مورد کد
- این کد از بهترین شیوه ها برای برنامه ای استفاده می کند که سطح API 34 یا بالاتر را هدف قرار می دهد.
در مانیفست برنامه خود، هر یک از سرویس های پیش زمینه برنامه خود را با یک عنصر <service>
اعلام کنید. برای هر سرویس، از ویژگی android:foregroundServiceType
استفاده کنید تا مشخص کنید که سرویس چه نوع کاری را انجام می دهد.
علاوه بر این، هر گونه مجوز مورد نیاز خدمات پیش زمینه خود را درخواست کنید.
سازگاری نسخه
شرایط لازم برای اعلام خدمات پیش زمینه و درخواست مجوزها بسته به سطح API مورد نظر برنامه شما متفاوت است. این صفحه الزامات برنامههایی را توضیح میدهد که سطح API 34 یا بالاتر را هدف قرار میدهند. برای اطلاعات در مورد تغییرات خدمات پیش زمینه در نسخه های پلتفرم قبلی، به تغییرات سرویس های پیش زمینه مراجعه کنید.
خدمات پیش زمینه را در مانیفست برنامه اعلام کنید
کد زیر نحوه اعلام سرویس پیش زمینه پخش رسانه را نشان می دهد. ممکن است از سرویسی مانند این برای پخش موسیقی استفاده کنید.
<manifest xmlns:android="http://schemas.android.com/apk/res/android" ...>
<application ...>
<service
android:name=".MyMediaPlaybackService"
android:foregroundServiceType="mediaPlayback"
android:exported="false">
</service>
</application>
</manifest>
نکات کلیدی در مورد کد
در این مثال، این سرویس تنها یک نوع دارد،
media
. اگر چندین نوع برای سرویس شما اعمال می شود، آنها را با|
جدا کنید اپراتور به عنوان مثال، اگر سرویس شما از دوربین و میکروفون استفاده می کند، آن را به این صورت اعلام کنید:android:foregroundServiceType="camera|microphone"
بسته به اینکه برنامه شما چه سطح API را هدف قرار می دهد، ممکن است از شما خواسته شود که خدمات پیش زمینه را در مانیفست برنامه اعلام کنید. الزامات سطوح API خاص در تغییرات خدمات پیش زمینه توضیح داده شده است.
اگر بخواهید یک سرویس پیش زمینه ایجاد کنید و نوع آن در مانیفست اعلام نشده باشد، سیستم با فراخوانی
startForeground()
یکMissingForegroundServiceTypeException
می اندازد.حتی زمانی که نیازی به آن نیست، بهترین روش این است که همه خدمات پیش زمینه خود را اعلام کنید و انواع خدمات آنها را ارائه دهید.
مجوزهای سرویس پیش زمینه را درخواست کنید
کد زیر نحوه درخواست مجوز برای سرویس پیش زمینه ای که از دوربین استفاده می کند را نشان می دهد.
<manifest xmlns:android="http://schemas.android.com/apk/res/android" ...>
<uses-permission android:name="android.permission.FOREGROUND_SERVICE"/>
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_CAMERA"/>
<application ...>
...
</application>
</manifest>
نکات کلیدی در مورد کد
- این کد از بهترین شیوه ها برای برنامه ای استفاده می کند که سطح API 34 یا بالاتر را هدف قرار می دهد.
در مانیفست برنامه خود، هر یک از سرویس های پیش زمینه برنامه خود را با یک عنصر <service>
اعلام کنید. برای هر سرویس، از ویژگی android:foregroundServiceType
استفاده کنید تا مشخص کنید که سرویس چه نوع کاری را انجام می دهد.
علاوه بر این، هر گونه مجوز مورد نیاز خدمات پیش زمینه خود را درخواست کنید.
سازگاری نسخه
شرایط لازم برای اعلام خدمات پیش زمینه و درخواست مجوزها بسته به سطح API مورد نظر برنامه شما متفاوت است. این صفحه الزامات برنامههایی را توضیح میدهد که سطح API 34 یا بالاتر را هدف قرار میدهند. برای اطلاعات در مورد تغییرات خدمات پیش زمینه در نسخه های پلتفرم قبلی، به تغییرات سرویس های پیش زمینه مراجعه کنید.
خدمات پیش زمینه را در مانیفست برنامه اعلام کنید
کد زیر نحوه اعلام سرویس پیش زمینه پخش رسانه را نشان می دهد. ممکن است از سرویسی مانند این برای پخش موسیقی استفاده کنید.
<manifest xmlns:android="http://schemas.android.com/apk/res/android" ...>
<application ...>
<service
android:name=".MyMediaPlaybackService"
android:foregroundServiceType="mediaPlayback"
android:exported="false">
</service>
</application>
</manifest>
نکات کلیدی در مورد کد
در این مثال، این سرویس تنها یک نوع دارد،
media
. اگر چندین نوع برای سرویس شما اعمال می شود، آنها را با|
جدا کنید اپراتور به عنوان مثال، اگر سرویس شما از دوربین و میکروفون استفاده می کند، آن را به این صورت اعلام کنید:android:foregroundServiceType="camera|microphone"
بسته به اینکه برنامه شما چه سطح API را هدف قرار می دهد، ممکن است از شما خواسته شود که خدمات پیش زمینه را در مانیفست برنامه اعلام کنید. الزامات سطوح API خاص در تغییرات خدمات پیش زمینه توضیح داده شده است.
اگر بخواهید یک سرویس پیش زمینه ایجاد کنید و نوع آن در مانیفست اعلام نشده باشد، سیستم با فراخوانی
startForeground()
یکMissingForegroundServiceTypeException
می اندازد.حتی زمانی که نیازی به آن نیست، بهترین روش این است که همه خدمات پیش زمینه خود را اعلام کنید و انواع خدمات آنها را ارائه دهید.
مجوزهای سرویس پیش زمینه را درخواست کنید
کد زیر نحوه درخواست مجوز برای سرویس پیش زمینه ای که از دوربین استفاده می کند را نشان می دهد.
<manifest xmlns:android="http://schemas.android.com/apk/res/android" ...>
<uses-permission android:name="android.permission.FOREGROUND_SERVICE"/>
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_CAMERA"/>
<application ...>
...
</application>
</manifest>
نکات کلیدی در مورد کد
- این کد از بهترین شیوه ها برای برنامه ای استفاده می کند که سطح API 34 یا بالاتر را هدف قرار می دهد.