अपने ऐप्लिकेशन के मेनिफ़ेस्ट में, ऐप्लिकेशन की हर फ़ोरग्राउंड सेवा के लिए <service> एलिमेंट का इस्तेमाल करके एलान करें. हर सेवा के लिए, android:foregroundServiceType एट्रिब्यूट का इस्तेमाल करके यह बताएं कि सेवा किस तरह का काम करती है.
इसके अलावा, फ़ोरग्राउंड सेवाओं के लिए ज़रूरी अनुमतियों का अनुरोध करें.
वर्शन के साथ काम करने वाली सुविधाएं
फ़ोरग्राउंड सेवाओं का एलान करने और अनुमतियों का अनुरोध करने से जुड़ी ज़रूरी शर्तें, इस बात पर निर्भर करती हैं कि आपका ऐप्लिकेशन किस एपीआई लेवल को टारगेट करता है. इस पेज पर, एपीआई लेवल 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"आपका ऐप्लिकेशन जिस एपीआई लेवल को टारगेट करता है उसके हिसाब से, आपको ऐप्लिकेशन के मेनिफ़ेस्ट में फ़ोरग्राउंड सेवाओं के बारे में बताना ज़रूरी हो सकता है. एपीआई के कुछ लेवल के लिए ज़रूरी शर्तों के बारे में, फ़ोरग्राउंड सेवाओं में हुए बदलाव लेख में बताया गया है.
अगर मेनिफ़ेस्ट में फ़ोरग्राउंड सेवा का टाइप तय नहीं किया गया है और उसे बनाने की कोशिश की जाती है, तो
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>
कोड के बारे में अहम बातें
- यह कोड, एपीआई लेवल 34 या इसके बाद के लेवल को टारगेट करने वाले ऐप्लिकेशन के लिए सबसे सही तरीकों का इस्तेमाल करता है.