मैं अंग्रेजी में अच्छा नहीं हूँ, लेकिन मैं अच्छा तरीका में मेरी समस्या समझाने की कोशिश करेंगे।
एंड्रॉयड, अनबाइंड सेवाओं और onServiceDisconnected समस्या
तो, समस्या है:
1) मैं एक स्थानीय सेवा
2) मैं इसे शुरू करने और फिर इसे करने के लिए बाध्य है। 3) समस्या प्रकट होता है जब मैं के बारे में है कि सेवा बंद करने के लिए कर रहा हूँ। वर्ग ServiceConnection की मेरी कार्यान्वयन कभी नहीं कहा जाता है से onServiceDisconnected विधि। अगर मैं (सेटिंग्स से) मैन्युअल रूप से इसे बंद करें, या unbindService, या stopService करके या unbindService के संयोजन और stopService द्वारा - अभी भी onServiceDisconnected के नाम से जाना नहीं है। मैं क्या गलत कर रहा हूँ? (दुर्घटनाग्रस्त हो गया/मारे गए)
protected ServiceConnection mServerConn = new ServiceConnection() {
@Override
public void onServiceConnected(ComponentName name, IBinder binder) {
Log.d(LOG_TAG, "onServiceConnected");
}
@Override
public void onServiceDisconnected(ComponentName name) {
Log.d(LOG_TAG, "onServiceDisconnected");
}
}
public void start() {
// mContext is defined upper in code, I think it is not necessary to explain what is it
mContext.bindService(i, mServerConn, Context.BIND_AUTO_CREATE);
mContext.startService(i);
}
public void stop() {
mContext.stopService(new Intent(mContext, ServiceRemote.class));
mContext.unbindService(mServerConn);
}
मैं Android 2.2
ठीक है, धन्यवाद। मैंने नहीं सोचा था कि यह एक बग या smth है। इसलिए मैंने सुई डेटा (कोड) को ServiceDisconnected() से रोकने के लिए कॉपी किया()। अब काम करता है जैसा मैं चाहता था। – UAS
यह सही है। लेकिन unbindService (कनेक्शन) को कॉल करने के बाद, मैं myservice (सेवा) कक्षा में मौजूद सार्वजनिक विधि को कॉल करने में सक्षम हूं। तो, unbindservice() विधि सही के साथ कोई मतलब नहीं है ??? लेकिन सेवा Destroy() पर कॉल करके नष्ट हो गया है। – yokks