Android: pasar el parámetro al Servicio desde la Actividad

Estoy vinculado al Servicio de esta manera:

Clase de actividad:

ListenLocationService mService;
@Override
public void onCreate(Bundle savedInstanceState) {
        ...
        Intent intent = new Intent(this, ListenLocationService.class);
        intent.putExtra("From", "Main");
        bindService(intent, mConnection, Context.BIND_AUTO_CREATE);
        ...
}

private ServiceConnection mConnection = new ServiceConnection() {

        public void onServiceConnected(ComponentName className,
                IBinder service) {
            LocalBinder binder = (LocalBinder) service;
            mService = binder.getService();         
        }

        public void onServiceDisconnected(ComponentName arg0) {
        }
    };

Esto esonBind método de miServici:

@Override
public IBinder onBind(Intent intent) {
    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();
    }
    return mBinder;
}

Así que tengo "nulo" enLogCat - el paquete es nulo a pesar de que hiceintent.putExtra antes debindService

En general, el servicio funciona bien. Sin embargo, necesito llamar aStartListenLocation(); solo desde la actividad principal de la aplicación (decido hacer esto enviando una bandera).

Cómo puedo enviar datos al servicio? O tal vez hay otra forma de verificar qué actividad se lanzóonBind?

Respuestas a la pregunta(6)

Su respuesta a la pregunta