I'm starting a service with an intent where I put extra information.
How can I get the intent in the code of my service?
There isn't a function like getIntent().getExtras()
in service like in activity.
I'm starting a service with an intent where I put extra information.
How can I get the intent in the code of my service?
There isn't a function like getIntent().getExtras()
in service like in activity.
Override onStart()
-- you receive the Intent
as a parameter.
onStart()
is deprecated now. You should use onStartCommand(Intent, int, int)
instead.
To pass the extras:
Intent intent = new Intent(this, MyService.class);
intent.putExtra(MyService.NAME, name);
...
startService(intent);
To retrieve the extras in the service:
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);
...
}
...
}