हम 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
ब्रॉडकास्ट रिसीवर पर, फ़ोरग्राउंड सेवाएं लॉन्च करने से जुड़ी पाबंदियां देखें.