I am having issues passing a value from an Activity to an already running service. I was wondering what the best approach to take would be? Adding extras wont work as I believe
pass intent extra to service from activity start this intent if service is running try this from activity and pass param with putExtra.
Intent rc = new Intent(getApplicationContext(), myService.class);
rc.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); //important for Android 10
rc.putExtra("parama","ciao");
rc.putExtra("paramb","hello");
startService(rc);
Remember, new thread, exit to main Thread.
new Thread(){
@Override
public void run() {
super.run();
//start service..
}
}
your service
public class myService extends Service {
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
if (intent.hasExtra("parama")){
Bundle b=new Bundle();
b=intent.getExtras();
String par_a=b.getString("parama");
}
if (intent.hasExtra("paramb")){
Bundle b=new Bundle();
b=intent.getExtras();
String par_b =b.getString("paramb");
}
}
}