फ़ोरग्राउंड सेवाओं में किए गए बदलाव

फ़ोरग्राउंड सेवा के दस्तावेज़ में, Android फ़ोरग्राउंड सेवाओं के मौजूदा व्यवहार के बारे में बताया गया है. इस दस्तावेज़ में, ज़्यादातर ऐप्लिकेशन के लिए सबसे सही तरीकों के बारे में बताया गया है. भले ही, वे Android के सबसे नए वर्शन को टारगेट करते हों या नहीं.

इस पेज पर, फ़ोरग्राउंड सेवाओं में हुए कुछ सबसे नए अहम बदलावों के बारे में बताया गया है. साथ ही, उन ऐप्लिकेशन पर पड़ने वाले असर के बारे में भी बताया गया है जो Android प्लैटफ़ॉर्म के सबसे नए वर्शन को टारगेट नहीं कर रहे हैं. कई मामलों में, एपीआई के निचले लेवल को टारगेट करने वाले ऐप्लिकेशन के लिए, सबसे सही तरीके इस्तेमाल करना ज़रूरी नहीं होता. हालांकि, एपीआई के ऊंचे लेवल को टारगेट करने वाले ऐप्लिकेशन के लिए, ये सबसे सही तरीके ज़रूरी हो जाते हैं.

Android 9 (एपीआई लेवल 28)

Android 9 में, FOREGROUND_SERVICE अनुमति की सुविधा जोड़ी गई है. Android 9 पर चलने वाले और फ़ोरग्राउंड सेवाओं का इस्तेमाल करने वाले ऐप्लिकेशन के पास यह अनुमति होनी चाहिए.

अगर एपीआई लेवल 28 या उसके बाद के वर्शन को टारगेट करने वाला कोई ऐप्लिकेशन, FOREGROUND_SERVICE अनुमति के लिए अनुरोध किए बिना फ़ोरग्राउंड सेवा बनाने की कोशिश करता है, तो सिस्टम SecurityException दिखाता है.

Android 10 (एपीआई लेवल 29)

ये ज़रूरी शर्तें, एपीआई लेवल 29 या उसके बाद के वर्शन को टारगेट करने वाले ऐप्लिकेशन पर लागू होती हैं:

  • अगर किसी ऐप्लिकेशन की फ़ोरग्राउंड सेवाएं, जगह की जानकारी का इस्तेमाल करती हैं, तो ऐप्लिकेशन को location सेवा टाइप के साथ सेवा का एलान करना होगा.

Android 11 (एपीआई लेवल 30)

ये ज़रूरी शर्तें, एपीआई लेवल 30 या उसके बाद के वर्शन को टारगेट करने वाले ऐप्लिकेशन पर लागू होती हैं:

  • अगर किसी ऐप्लिकेशन की फ़ोरग्राउंड सेवाएं कैमरे या माइक्रोफ़ोन का इस्तेमाल करती हैं, तो ऐप्लिकेशन को camera या microphone के तौर पर सेवा के टाइप के साथ, सेवा का एलान करना होगा.

Android 12 (एपीआई लेवल 31)

एपीआई लेवल 31 या उसके बाद के वर्शन को टारगेट करने वाले ऐप्लिकेशन के लिए, ये ज़रूरी शर्तें लागू होती हैं:

Android 14 (एपीआई लेवल 34)

एपीआई लेवल 34 या उसके बाद के वर्शन को टारगेट करने वाले ऐप्लिकेशन के लिए, ये ज़रूरी शर्तें लागू होती हैं:

  • आपको सभी फ़ोरग्राउंड सेवाओं के बारे में एलान करना होगा. साथ ही, आपको सेवा के टाइप के बारे में भी बताना होगा.
  • ऐप्लिकेशन को उस काम के लिए, सही अनुमति का अनुरोध करना होगा जो फ़ोरग्राउंड सेवा करेगी. हर फ़ोरग्राउंड सेवा के टाइप के लिए, एक तरह की अनुमति होती है. उदाहरण के लिए, अगर कोई ऐप्लिकेशन कैमरे का इस्तेमाल करने वाली फ़ोरग्राउंड सेवा लॉन्च करता है, तो आपको FOREGROUND_SERVICE और FOREGROUND_SERVICE_CAMERA, दोनों अनुमतियों का अनुरोध करना होगा. अगर कोई ऐप्लिकेशन, एपीआई लेवल 34 या उसके बाद के वर्शन को टारगेट करता है और सही अनुमति का अनुरोध नहीं करता है, तो सिस्टम SecurityException दिखाता है.

Android 15 (एपीआई लेवल 35)

ये ज़रूरी शर्तें, एपीआई लेवल 35 या उसके बाद के वर्शन को टारगेट करने वाले ऐप्लिकेशन पर लागू होती हैं: