Home » Android » android – Can a bundle be passed to a service?

android – Can a bundle be passed to a service?

Posted by: admin June 15, 2020 Leave a comment

Questions:

In my application i need to get a value from an activity to a service. The value that i need to retrieve is the one i clicked in that activity.

For eg: If i select x[i] element from Activity A, i need to retrieve the value x[i] in a Service S.

How is it possible?

Thanks,

Niki

How to&Answers:

In the service use this:

public int onStartCommand (Intent intent, int flags, int startId)
{
     super.onStartCommand(intent, flags, startId);
     Bundle bundle = intent.getExtras();
}

Answer:

When you create an intent , you can put data to it and the same data will be transferred along with the Intent when you start the service.

Intent intent = new Intent(context, Class) ;
intent.putExtra(key, value);

startService(intent);

In the receiving end get the intent and get extra value from it.

Bundle b = getIntent().getExtra();
b.get<ValueType>(key);

Answer:

You can override the onStartCommand(Intent intent, int flags, int startId) method in the service.