के साथ सेवा शुरू करें सक्रियण से मेरी सेवा शुरू करने के लिए मैं startService(MyService.class)
का उपयोग करता हूं। यह बहुत अच्छा काम करता है, लेकिन एक विशेष मामले में सेवा को अलग-अलग शुरू किया जाना चाहिए। मैं सेवा शुरू करने के लिए कुछ पैरामीटर पास करना चाहता हूं।एंड्रॉइड: पैरामीटर
मैं अपने गतिविधि में निम्नलिखित की कोशिश की:
Intent startMyService= new Intent();
startMyService.setClass(this,LocalService.class);
startMyService.setAction("controller");
startMyService.putExtra(Constants.START_SERVICE_CASE2, true);
startService(startMyService);
मेरी सेवा में मैं का उपयोग करें:
public class MyIntentReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if (intent.getAction().equals("controller"))
{
// Intent was received
}
}
}
IntentReceiver OnCreate() में पंजीकृत है इस तरह:
IntentFilter mControllerIntent = new IntentFilter("controller");
MyIntentReceiver mIntentReceiver= new MyIntentReceiver();
registerReceiver(mIntentReceiver, mControllerIntent);
इस समाधान के साथ सेवा शुरू होती है लेकिन इरादा प्राप्त नहीं होता है। मैं सेवा कैसे शुरू कर सकता हूं और अपने पैरामीटर कैसे पास कर सकता हूं?
आपकी मदद के लिए धन्यवाद!
MyIntentReceiver क्या है? क्या आप कुछ विशिष्ट प्रसारण सुनना चाहते हैं और अपने सेवा व्यवहार को बदलना चाहते हैं? – Audrius
@ ऑडियस: हाँ, आप सही हैं। MyIntentReceiver का उपयोग मेरी सेवा के व्यवहार को बदलने के लिए किया जाता है। मेरी सेवा में 2 राज्य हैं: एक सेवा शुरू करते समय, एक और जब सेवा चल रही है। – Mike