2010-08-30 10 views
6

तो मैं सेवा जीवन चक्र और यह सब समझता हूं। लेकिन मैं उलझन में हूं कि startId पैरामीटर क्या है?एंड्रॉइड सेवा startId पैरामीटर

public int onStartCommand (Intent intent, int flags, int startId) 

मुझे लगता है कि यह stopSelf(int) साथ संयोजन के रूप में प्रयोग किया जाता है मिलता है, लेकिन मैं देख रहा हूँ कि क्या बात है, या जहां startId बनाई जा रही है। स्टॉपसेल्फ (इंट) का उपयोग किस मामले में किया जाएगा?

उत्तर

4

स्टॉपसेल्फ (इंट) का उपयोग किस मामले में किया जाएगा?

चरण # 1: कॉल startService()

चरण # 2: कॉल startService() फिर

चरण # 3: इस बिंदु पर कॉल stopSelf()

, हम चाहते सेवा को रोका नहीं जा करने के लिए, चूंकि अभी भी बकाया काम है, दूसरे startService() कॉल द्वारा दर्शाया गया है। हम startService() और stopSelf() मिलान करने के लिए कॉल करना चाहते हैं।

+0

ओह, मुझे लगता है कि मुझे यह मिल गया है। मुझे लगता है कि मैं इस पर विचार कर रहा हूं। इसलिए जब भी ऑनस्टार्ट कमांड() को निष्पादित किया जाता है, तो हम केवल वैश्विक वैरिएबल को स्टोर करते हैं, और उसके बाद उस ग्लोबल वैरिएबल पर stopSelf (int) को कॉल करते हैं। ठीक हैचाचा। मैं आईडी को एक सिंक्रोनस कतार या कुछ लॉल – Falmarri

+1

@ फल्मररी में डालने के बारे में सोचने की कोशिश कर रहा था: "इसलिए जब भी ऑनस्टार्ट कमांड() को निष्पादित किया जाता है तो हम केवल वैश्विक वैरिएबल को स्टोर करेंगे" - नहीं, क्योंकि इनमें से कई होंगे। आप 'IntentService' की जांच कर सकते हैं और इस पर विचार कर सकते हैं कि यह आपके लिए उपयोग करने के लिए एक बेहतर आधार वर्ग है या नहीं। यह अन्य सुविधाओं के साथ 'स्टॉपसेल्फ (इंट)' कॉल को स्वयं ही संभालता है। – CommonsWare

+0

हम्म, तो मुझे लगता है कि मैं अभी भी उलझन में हूं। आप इसे स्वयं संभालने के बारे में कैसे जाएंगे? क्या कोई उदाहरण है? मैंने किसी भी उदाहरण में startId का कोई उपयोग नहीं देखा है – Falmarri

संबंधित मुद्दे