parametresi ile hizmeti başlat Servisimi Activiy'den başlatmak için startService(MyService.class)
kullanın. Bu harika çalışıyor, ancak özel bir durumda hizmet farklı başlatılmalıdır. Servis başlangıcına bazı parametreler iletmek istiyorum. Kullandığım benim hizmet etAndroid:
Intent startMyService= new Intent();
startMyService.setClass(this,LocalService.class);
startMyService.setAction("controller");
startMyService.putExtra(Constants.START_SERVICE_CASE2, true);
startService(startMyService);
:
benim Aktivite aşağıdaki çalıştıpublic class MyIntentReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if (intent.getAction().equals("controller"))
{
// Intent was received
}
}
}
IntentReceiver böyle onCreate() kayıtlıdır:
IntentFilter mControllerIntent = new IntentFilter("controller");
MyIntentReceiver mIntentReceiver= new MyIntentReceiver();
registerReceiver(mIntentReceiver, mControllerIntent);
Bu çözümle servis başlar, ancak niyet alınmaz. Bir Hizmeti nasıl başlatıp parametreleri değiştirebilirim?
Yardımlarınız için teşekkürler!
için MyIntentReceiver nedir? Belirli bir yayını dinlemek ve servis davranışınızı değiştirmek mi istiyorsunuz? – Audrius
@Audrius: Evet, haklısın. MyIntentReceiver, hizmetimin davranışını değiştirmek için kullanılır. Hizmetimde 2 durum var: Biri hizmet başlatırken, hizmet çalışırken başka bir tane. – Mike