अगर मैं निम्नलिखित कोड है:यदि सेवा कई बार शुरू होती है तो क्या होता है?
Intent intent = new Intent(this,DownloadService.class);
for(int i=0;i<filesArray.length;i++){
startService(intent);
}
इस कोड में DownloadService
IntentService
फैली हुई है।
तो अब जब मैं startService(intent)
फोन कर रहा हूँ इसका मतलब यह है कि मैं एक नई सेवा हर बार startService(intent)
कहा जाता है शुरू कर या मतलब है कि कि DownloadService
एक बार चलाया जाता है और उसके बाद हर बार मैं फोन startService(intent)
यह सिर्फ एक अलग पारित करेंगे एक अलग शुरुआत के साथ इरादा।
क्या यह समझ में आता है, और इनमें से कौन सा मामला है?
धन्यवाद। यह भी कहता है: "startService() विधि तुरंत लौटती है और एंड्रॉइड सिस्टम सेवा की ऑनस्टार्ट कमांड() विधि को कॉल करता है। अगर सेवा पहले से नहीं चल रही है, तो सिस्टम पहले क्रिएट() पर कॉल करता है, फिर स्टार्ट कॉमांड() पर कॉल करता है।" तो यदि सेवा पहले से चल रही है तो सिस्टम ऑनक्रेट() विधि को छोड़ देगा और केवल स्टार्ट कमांड() पर कॉल करेगा या क्या? – bytebiscuit
मुझे वास्तव में पता नहीं है, लेकिन मुझे पूरा यकीन है कि यह मामला है (यदि सेवा पहले से बनाई गई है तो 'क्रिएट() 'पर कॉल करने के लिए बहुत अधिक संभावना नहीं है)। यह निर्धारित करना आसान होना चाहिए कि क्या आपने दोनों कॉलबैक में 'Log.i() 'रखा है और लॉगकैट की जांच करें। –
बस इतना किया ... और अजीब रूप से पर्याप्त यह शुरू होता है आखिरी शुरुआत सेवा() कॉल के बाद क्रिएट !!! – bytebiscuit