Для запуска моего сервиса от Activiy я использую 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);
При таком решении служба запускается, но намерение не получено. Как я могу запустить Сервис и передать свои параметры?
Спасибо за вашу помощь!