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