2009-12-27 12 views
30

मैं एक ऐसे इरादे से सेवा शुरू कर रहा हूं जहां मैंने अतिरिक्त जानकारी दी है।एंड्रॉइड: सेवा द्वारा प्राप्त इरादे को कैसे प्राप्त करें?

मैं अपनी सेवा के कोड में इरादा कैसे प्राप्त कर सकता हूं?

गतिविधि में सेवा जैसे getIntent().getExtras() पर कोई फ़ंक्शन नहीं है।

उत्तर

40

onStart() ओवरराइड करें - आपको पैरामीटर के रूप में Intent प्राप्त होता है।

+0

आप एक विस्तार explaination – Prasad

83

onStart() अब बहिष्कृत है। आपको इसके बजाय onStartCommand(Intent, int, int) का उपयोग करना चाहिए।

+1

यह मेरे लिए काम किया दे सकते हैं :) –

4

एक्स्ट्रा कलाकार से पारित करने के लिए:

Intent intent = new Intent(this, MyService.class); 
intent.putExtra(MyService.NAME, name); 
... 
startService(intent); 

सेवा में एक्स्ट्रा कलाकार को पुनः प्राप्त करने के लिए:

public class MyService extends Service { 
    @Override 
    public int onStartCommand(Intent intent, int flags, int startId) { 
     super.onStartCommand(intent, flags, startId); 
     String name = intent.getExtras().getString(NAME); 
     ... 
    } 
    ... 
} 
संबंधित मुद्दे