मुझे एक ऐसी सेवा चाहिए जो पृष्ठभूमि में तब तक चल सकती है जब तक कि मैं रुक जाऊं, भले ही इसे शुरू करने वाला घटक नष्ट हो और गतिविधियों को बाध्यकारी भी हो। यह कैसे संभव है ?यह कैसे संभव है सेवा अनिश्चित काल तक चलती है और एंड्रॉइड में बाइंडिंग की अनुमति भी देती है?
प्रति एंड्रॉयड बाध्य सेवाओं दस्तावेज़ के रूप में - वहाँ बाध्य सेवा
- विस्तार बाइंडर वर्ग बनाने के तीन तरीके हैं।
- मैसेंजर का उपयोग करना।
- एआईडीएल का उपयोग करना।
मैंने मैसेंजर (द्वितीय विधि) का उपयोग करके एक बाध्य सेवा बनाई है। गतिविधि अपने ऑनस्टार्ट() विधि में सेवा से जुड़ा हुआ है और इसकी ऑनस्टॉप() विधि में अनबिंड है। दो तरह के संदेश (गतिविधि और सेवा के बीच) ठीक से काम करता है। लेकिन समस्या यह है कि जब गतिविधि सेवा को बंद कर देती है, तो सेवा नष्ट हो जाती है। लेकिन मुझे एक ऐसी सेवा चाहिए जो अनिश्चित काल तक चल सके।
एंड्रॉइड Services Dev Guide के रूप में यह संभव है - "हालांकि यह दस्तावेज आम तौर पर इन दो प्रकार की सेवाओं को अलग-अलग चर्चा करता है, आपकी सेवा दोनों तरीकों से काम कर सकती है-इसे शुरू किया जा सकता है (अनिश्चित काल तक चलाने के लिए) और बाध्यकारी भी अनुमति देता है। यह बस एक बात है चाहे आप दो कॉलबैक विधियों को कार्यान्वित करें: onStartCommand() घटकों को बाध्यकारी अनुमति देने के लिए इसे चालू करने और बाइंड() को अनुमति देने के लिए। "
मैं सेवा में स्टार्टकॉमैंड() विधि को भी लागू करता हूं और START_STICKY लौटाता हूं, लेकिन इसे कभी नहीं कहा जाता है। देव मार्गदर्शिका में बाध्य सेवा के जीवन चक्र कॉलबैक को देखते हुए, स्टार्ट कमांड() कॉलबैक विधि पर कोई नहीं है। फिर जब तक हम रुकें और बाइंडिंग की अनुमति न दें तब तक सेवा चलाने के लिए कैसे संभव है?
मैं फेडोरा 15 ओएस में ग्रहण मंच का उपयोग कर रहा हूं।
किसी भी मदद .....
"मैं एक सेवा है जो पृष्ठभूमि में अनिश्चित काल के लिए चला सकते हैं चाहता हूँ"। यदि उपयोगकर्ता महसूस करता है कि आप निरंतर मूल्य प्रदान किए बिना अपने डिवाइस संसाधनों को बर्बाद कर रहे हैं तो उपयोगकर्ता आपकी सेवा को मार देगा। ओएस आपकी सेवा को मार देगा अगर ऐसा लगता है कि यह बहुत लंबा चल रहा है। मुझे लगता है कि एंड्रॉइड अनुप्रयोगों के 0.1% से कम की एक अनन्त सेवा की आवश्यकता है। हमें विश्वास दिलाएं कि आपके एप्लिकेशन को वास्तव में ऐसी सेवा की आवश्यकता है जो हर समय चलता है। – CommonsWare
मैं एक सेवा चाहता हूं जो मेरा ऐप शुरू होता है और तब तक चलाया जा सकता जब तक कि उपयोगकर्ता मेरे ऐप या उपयोगकर्ता या विकल्प में विकल्प मेनू से बाहर निकलने का चयन नहीं कर लेता है।समस्या यह है कि उपयोगकर्ता मेरा ऐप शुरू करता है, इसलिए मेरी सेवा शुरू हो जाती है (मैं बाध्य सेवा का उपयोग करता हूं क्योंकि मैं मैसेंजर का उपयोग करके गतिविधियों और सेवा को संवाद करना चाहता हूं), लेकिन जब उपयोगकर्ता वापस दबाया जाता है और होम स्क्रीन पर आ जाता है तो यह नष्ट हो जाता है क्योंकि मेरी गतिविधि में असंबद्ध है इसकी ऑनस्टॉप() विधि, और जब मेरी गतिविधि को अनइंड करता है तो मेरी सेवा नष्ट हो जाती है जो मैं नहीं चाहता क्योंकि मैं पृष्ठभूमि से आने वाले एसआईपी संदेशों को सुनता हूं और संदेश शुरू होने की गतिविधि के अनुसार गतिविधि शुरू करता हूं। –
आप इसे अनिश्चित काल तक क्यों चलाना चाहते हैं? आप हमेशा क्या निष्पादित करना चाहते हैं? –