2012-06-21 21 views
6

से पृष्ठभूमि सेवा को रोकना मेरे पास एक पृष्ठभूमि सेवा है जिसमें मैं एक अधिसूचना दिखाना चाहता हूं जो उपयोगकर्ता को इसे रोकने की अनुमति देता है।अधिसूचना

एंड्रॉइड एसडीके दस्तावेज़ों में यह कहता है कि आमतौर पर गतिविधि को लॉन्च करने के लिए एक गतिविधि का उपयोग किया जाता है। इसलिए मैं अगर मैं सेवा बंद करने के लिए एक गतिविधि बनाने के लिए की जरूरत है या मैं सीधे सेवा बंद कर सकते हैं कि उपयोगकर्ता द्वारा अधिसूचना का चयन करता है सोच रहा हूँ,

तो इरादा होगा सेवा वापस बुलाने इसे रोकने के लिए ..

धन्यवाद,

+0

शायद यह पूर्व चर्चा उपयोगी होगी: http://stackoverflow.com/questions/2621395/more- कुशल-way-of-updating-ui-from-service-than-intents – Gene

उत्तर

7

तो मैं अगर मैं सेवा बंद करने के लिए एक गतिविधि बनाने के लिए की जरूरत है या मैं सीधे सेवा बंद कर सकते हैं कि उपयोगकर्ता द्वारा अधिसूचना का चयन करता है सोच रहा हूँ,

आप नहीं सीधे एक Notification से सेवा बंद कर सकते हैं। आप सेवा Intent का उपयोग कर सेवा शुरू कर सकते हैं जिसमें एक क्रिया स्ट्रिंग या अतिरिक्त या कुछ है जो सेवा onStartCommand() में देखती है और इसे stopSelf() पर कॉल करने के लिए ट्रिगर करती है।

+0

धन्यवाद यह मेरे लिए काम करता है .. – Ahmed

+0

क्या आप जो कह रहे हैं उसके बारे में नमूना कोड के साथ मेरी मदद कर सकते हैं। मैं ऊपर बताए गए उत्तर के बारे में थोड़ा उलझन में हूं। धन्यवाद –

0

आप इस तरह की सेवा से एक Acitivty शुरू नहीं कर सकते हैं। आप क्या कर सकते हैं सेवा में किसी गतिविधि के लिए कॉलबैक बनाएं और कॉलबैक को नई गतिविधियां शुरू करें। लेकिन अधिसूचना होने का मतलब है कि आपको सेवा के माध्यम से जाना नहीं है। जब अधिसूचना पर क्लिक किया जाता है, तो आप उस गतिविधि को शुरू कर सकते हैं जो अधिसूचना में आपके द्वारा प्रदान किए गए इरादे में निर्दिष्ट है। यह वास्तव में बहुत आसान है।

उदाहरणों के लिए अधिसूचनाओं पर संदर्भ दस्तावेज़ पढ़ें।

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