मैं एंड्रॉइड सेवाओं के साथ गड़बड़ कर रहा हूं, और मुझे पता चला है कि जब मैं किसी सेवा से जुड़ता हूं तो ServiceConnection.onServiceConnected()
काफी अनुमानित रूप से कहा जाता है।ServiceConnection.onServiceDisconnected() कहां से कॉल किया जाता है?
हालांकि, मेरे onServiceDisconnected()
विधि को वीएम मरने के बाद भी कभी नहीं कहा जाता है।
मैंने सेवा पर डीबग संदेश लॉग किए हैं और दिखाते हैं कि सभी धागे बंद हो गए हैं, आदि। मुझे पता है कि सेवाएं प्रक्रियाओं के रूप में लागू की जाती हैं; क्या ऐसे धागे हैं जिन्हें मैं नहीं जानता कि प्रक्रिया से बाहर निकलने से रोका जा रहा है?
क्या यह सिर्फ दुर्घटनाग्रस्त है? मैं उम्मीद करता हूं कि जब मैं 'unbindService()' कहता हूं और सेवा निकलती है क्योंकि वहां कोई और ग्राहक नहीं है। – sehugg
प्रलेखन के अनुसार यह केवल 'अप्रत्याशित सेवा अनबाइंडिंग' पर होता है, इसलिए हाँ, यह केवल क्रैश पर है, और unbindService() – reflog
पर नहीं, तो आप कैसे जान सकते हैं कि आप वास्तव में सेवा पर पुनर्विचार कर सकते हैं या नहीं? या बेहतर, आप कैसे पुनर्जीवित करते हैं? एक नया सेवा कनेक्शन यूइंग? – Snicolas