Android: start service with parameter
Intent serviceIntent = new Intent(this,ListenLocationService.class); serviceIntent.putExtra("From", "Main");startService(serviceIntent);//and get the parameter in onStart method of your service class@Overridepublic void onStart(Intent intent, int startId) { super.onStart(intent, startId); Bundle extras = intent.getExtras(); if(extras == null) { Log.d("Service","null"); } else { Log.d("Service","not null"); String from = (String) extras.get("From"); if(from.equalsIgnoreCase("Main")) StartListenLocation(); }}
Step #1: Delete your BroadcastReceiver
implementation.
Step #2: Examine the Intent
your service gets in onStartCommand()
and look at the action via getAction()
.