2012-04-28 9 views
6

का उदाहरण प्राप्त करना तो मेरे पास पृष्ठभूमि सेवा चल रही है। अब, यदि उपयोगकर्ता गतिविधि छोड़ देता है, तो सेवा अभी भी चल रही है, है ना? अब जब उपयोगकर्ता ऐप को पुनरारंभ करता है, तो मैं पृष्ठभूमि सेवा तक पहुंच बनाना चाहता हूं और कुछ तरीकों को कॉल करना चाहता हूं। मैं पृष्ठभूमि सेवा के उदाहरण का उपयोग कैसे कर सकता हूं?पृष्ठभूमि सेवा

धन्यवाद दोस्तों!

उत्तर

6

यह मेरे लिए बॉक्स के बाहर काम करता है! हालांकि यदि आपके पास विकल्प हैं तो सार्वजनिक उपयोग नहीं करते हैं क्योंकि सार्वजनिक स्थिर सदस्य अंतिम नहीं हैं। आप सेवा में सार्वजनिक दायरे के साथ एक स्थिर चर बना सकते हैं।

public static BackgroundService bs; 
@Override 
public void onCreate(){ 
    bs=this;} 

फिर परिवर्तक को 'इस' के साथ प्रारंभ करें जो इसे वर्तमान चल रही सेवा का संदर्भ बनाता है। किसी भी समय अपनी गतिविधि में संदर्भ के रूप में इसका इस्तेमाल करें।

+0

बहुत अच्छा लगता है! आज इसे आजमाएं और देखें कि यह काम करता है या नहीं! धन्यवाद! – Ishwar

+0

ठीक है, इसलिए मैंने जो कहा वह मैंने किया, लेकिन मुझे NullPointerException मिल रहा है। मेरे कोड: http://pastebin.com/UT9Rcyi4 – Ishwar

+1

ऐसा इसलिए है क्योंकि (stackoverflow.com/questions/5085190/...) के अनुसार स्टार्ट सेवा सेवा अतुल्यकालिक है। इसलिए आपकी सेवा अभी तक शुरू नहीं हुई है! बस कुछ में अपनी सेवा शुरू करें अन्य गतिविधि और वहां से startActivity() का उपयोग करके अपनी गतिविधि शुरू करें। यह मेरे लिए काम कर रहा है। – rahulserver

0

यदि आप पृष्ठभूमि सेवा के साथ संवाद करना चाहते हैं। आप बांधने की मशीन तंत्र का उपयोग नहीं कर सकते हैं और इस बारे में आप इस वेब पहुंच सकता है: android develop

वहाँ एक उदाहरण कैसे पृष्ठभूमि सेवा

बहुत बहुत शुक्रिया

1

सेवा तो उपयोग करने के लिए करने के लिए बताने के लिए है आपकी गतिविधि छोड़ने के बाद चलना जारी रहता है इस पर निर्भर करता है कि आप इसे कैसे शुरू करते हैं। (इस बारे में प्रलेखन प्रारंभ सेवा()/bindService()) में पढ़ें यदि आपकी सेवा अभी भी चल रही है, तो startService()/bindService() पर कॉल आपको आपकी 'पुरानी' सेवा से कनेक्ट कर देगा।

+1

तो आपका मतलब है कि सेवा पृष्ठभूमि में चल रही है, तो प्रारंभ या बाध्य सेवा सेवा का एक नया उदाहरण नहीं देगी। इसके बजाय, पुराने को लाएगा ?? – Ishwar