Android 15 के लिए, फ़ोरग्राउंड सेवा के टाइप में हुए बदलाव

हम Android 15 में, फ़ोरग्राउंड सेवा के टाइप में ये बदलाव कर रहे हैं.

मीडिया प्रोसेस करना

मेनिफ़ेस्ट में जाकर, फ़ोरग्राउंड सेवा के टाइप की जानकारी दें. इसके लिए,
android:foregroundServiceType
mediaProcessing
अपने मेनिफ़ेस्ट में एलान करने की अनुमति
FOREGROUND_SERVICE_MEDIA_PROCESSING
startForeground() को पास करने के लिए कॉन्स्टेंट
FOREGROUND_SERVICE_TYPE_MEDIA_PROCESSING
रनटाइम की ज़रूरी शर्तें
कोई नहीं
ब्यौरा

मीडिया ऐसेट पर ज़्यादा समय लेने वाले काम करने की सेवा. जैसे, मीडिया को अलग-अलग फ़ॉर्मैट में बदलना. सिस्टम इस सेवा को सीमित समय के लिए चलाने की अनुमति देता है. आम तौर पर, यह समयसीमा हर 24 घंटे में 6 घंटे की होती है. (यह सीमा, ऐप्लिकेशन की सभी mediaProcessing फ़ोरग्राउंड सेवाओं के लिए लागू होती है.)

आपके ऐप्लिकेशन को मीडिया प्रोसेसिंग सेवा को मैन्युअल तरीके से बंद करना चाहिए, अगर:

  • ट्रांसकोडिंग की प्रोसेस पूरी होने या गड़बड़ी की स्थिति में पहुंचने पर, सेवा को पूरी तरह से बंद करने के लिए, सेवा को Service.stopForeground() और Service.stopSelf() पर कॉल करने दें.

टाइम आउट की अवधि खत्म होने पर, सिस्टम सेवा के Service.onTimeout(int, int) तरीके को कॉल करता है. इस समय, सेवा के पास Service.stopSelf() को कॉल करने के लिए कुछ सेकंड होते हैं. अगर सेवा Service.stopSelf() को कॉल नहीं करती है, तो इस गड़बड़ी के मैसेज के साथ ANR होगा: "<fgs_type> की फ़ोरग्राउंड सेवा, तय समयसीमा में नहीं रुकी: <component_name>".

ध्यान दें: Service.onTimeout(int, int), Android 14 या इससे पहले के वर्शन पर उपलब्ध नहीं है. इन वर्शन वाले डिवाइसों पर, अगर मीडिया प्रोसेस करने वाली सेवा टाइम आउट की अवधि तक पहुंच जाती है, तो सिस्टम तुरंत ऐप्लिकेशन को कैश मेमोरी में सेव कर देता है. इसलिए, आपके ऐप्लिकेशन को टाइम आउट की सूचना मिलने का इंतज़ार नहीं करना चाहिए. इसके बजाय, उसे फ़ोरग्राउंड सेवा को बंद कर देना चाहिए या ज़रूरत पड़ने पर उसे बैकग्राउंड सेवा में बदल देना चाहिए.

कैमरा

Android 15 या इसके बाद के वर्शन को टारगेट करने वाले ऐप्लिकेशन, BOOT_COMPLETED ब्रॉडकास्ट रिसीवर से कैमरे की फ़ोरग्राउंड सेवा लॉन्च नहीं कर सकते. ज़्यादा जानकारी के लिए, BOOT_COMPLETED ब्रॉडकास्ट रिसीवर पर, फ़ोरग्राउंड सेवाएं लॉन्च करने से जुड़ी पाबंदियां देखें.

डेटा सिंक करना

Android 15 या इसके बाद के वर्शन को टारगेट करने वाले ऐप्लिकेशन, BOOT_COMPLETED ब्रॉडकास्ट रिसीवर से डेटा सिंक करने वाली फ़ोरग्राउंड सेवा लॉन्च नहीं कर सकते. ज़्यादा जानकारी के लिए, BOOT_COMPLETED ब्रॉडकास्ट रिसीवर पर, फ़ोरग्राउंड सेवाएं लॉन्च करने से जुड़ी पाबंदियां देखें.

मीडिया प्लेबैक

Android 15 या इसके बाद के वर्शन को टारगेट करने वाले ऐप्लिकेशन, BOOT_COMPLETED ब्रॉडकास्ट रिसीवर से मीडिया चलाने की फ़ोरग्राउंड सेवा लॉन्च नहीं कर सकते. ज़्यादा जानकारी के लिए, BOOT_COMPLETED ब्रॉडकास्ट रिसीवर पर, फ़ोरग्राउंड सेवाएं लॉन्च करने से जुड़ी पाबंदियां देखें.

मीडिया प्रोजेक्शन

Android 15 या इसके बाद के वर्शन को टारगेट करने वाले ऐप्लिकेशन, BOOT_COMPLETED ब्रॉडकास्ट रिसीवर से मीडिया प्रोजेक्शन फ़ोरग्राउंड सेवा लॉन्च नहीं कर सकते. ज़्यादा जानकारी के लिए, BOOT_COMPLETED ब्रॉडकास्ट रिसीवर पर, फ़ोरग्राउंड सेवाएं लॉन्च करने से जुड़ी पाबंदियां देखें.

माइक्रोफ़ोन

Android 14 (एपीआई लेवल 34) या उसके बाद के वर्शन को टारगेट करने वाले ऐप्लिकेशन, BOOT_COMPLETED ब्रॉडकास्ट रिसीवर से माइक्रोफ़ोन फ़ोरग्राउंड सेवा लॉन्च नहीं कर सकते. ज़्यादा जानकारी के लिए, BOOT_COMPLETED ब्रॉडकास्ट रिसीवर पर, फ़ोरग्राउंड सेवाएं लॉन्च करने से जुड़ी पाबंदियां देखें.

फ़ोन कॉल

Android 15 या इसके बाद के वर्शन को टारगेट करने वाले ऐप्लिकेशन, BOOT_COMPLETED ब्रॉडकास्ट रिसीवर से फ़ोन कॉल फ़ोरग्राउंड सेवा लॉन्च नहीं कर सकते. ज़्यादा जानकारी के लिए, BOOT_COMPLETED ब्रॉडकास्ट रिसीवर पर, फ़ोरग्राउंड सेवाएं लॉन्च करने से जुड़ी पाबंदियां देखें.