title: Service not being created (or connecting) after bindService()
body: <p>I have this simple service that broadcasts the current location of the user. I want to use the binding mechanism just to control the service life-cycle, but the service is just not starting. </p>
  
  <p>What did I do wrong?</p>
  
  <pre><code>public class GPSActivity extends ListActivity {
  ...
  protected void onResume() {
          super.onResume();
  
          Log.i("Service", "Service bound");
          Intent intent = new Intent(this, LocationService.class);
          bindService(intent, service_connection , Context.BIND_AUTO_CREATE);
      }
  
  protected void onPause() {
          if (dataUpdateReceiver!=null)
              unregisterReceiver(dataUpdateReceiver);
          unbindService(service_connection);
          super.onPause();
      }
  class LocationServiceConnection implements ServiceConnection{
          public void onServiceConnected(ComponentName name, IBinder service) {
              Log.i("Service", "Service Connected");
          }
                  public void onServiceDisconnected(ComponentName name) {
  
          }
      }
  }
  </code></pre>
  
  <p><code>LocalBinder.java</code></p>
  
  <pre><code>public class LocalBinder&lt;S&gt; extends Binder {
      private String TAG = "LocalBinder";
      private  WeakReference&lt;S&gt; mService;
  
  
      public LocalBinder(S service){
          mService = new WeakReference&lt;S&gt;(service);
      }
  
  
      public S getService() {
          return mService.get();
      }
  }
  </code></pre>
  
  <p><code>LocationService.java</code></p>
  
  <pre><code>public class LocationService extends Service {
      public void onCreate() {
          initLocationListener();
          Log.i("Location Service","onCreate()");
      }
  
      @Override
      public int onStartCommand(Intent intent, int flags, int startId) {
          Log.i("Location Service", "Received start id " + startId + ": " + intent);
          return START_NOT_STICKY;
      }
  
      private final IBinder mBinder = new LocalBinder&lt;LocationService&gt;(this);
      @Override
      public IBinder onBind(Intent intent) {
          return mBinder;
      }
  }
  </code></pre>
  
  <p><code>AndroidManifest.xml</code></p>
  
  <pre><code>&lt;application
      android:icon="@drawable/ic_launcher"
      android:label="@string/app_name" &gt;
      ...
  
      &lt;service android:name=".LocationService"&gt;
      &lt;/service&gt;
  &lt;/application&gt;  
  </code></pre>
  
  <p><strong>EDIT:</strong> Fixed thanks to NickT's answer. </p>
  
  <p>The manifest entry did not have a intent filter or the correct name</p>
  
  <pre><code>&lt;service
     android:enabled="true"
     android:name="com.android.gps.services.LocationService"&gt;
     &lt;intent-filter&gt;
            &lt;action android:name="com.android.gps.services.LocationService" /&gt;
     &lt;/intent-filter&gt;
  &lt;/service&gt;
  </code></pre>
  
  <p>And the intent I used for binding was like the ones you need to use when starting an activity. the correct one is: </p>
  
  <pre><code>Intent intent = new Intent("com.android.gps.services.LocationService");
  </code></pre>