title: Android 5.0 IllegalArgumentException: Service Intent must be explicit: on com.google.android.location.internal.GoogleLocationManagerService.START
body: <p>I'm trying to retrieve the location of the device calling the method <em>connect</em> of the class <em>LocationClient</em> in my activity, however when the call is made the system crashes with the following exception:</p>
  
  <pre><code>**FATAL EXCEPTION: main
  Process: com.unipagossales, PID: 3833
  java.lang.RuntimeException: Unable to start activity ComponentInfo{com.unipagossales/com.unipagossales.app.merchants.MerchantFragmentActivity}: java.lang.IllegalArgumentException: Service Intent must be explicit: Intent { act=com.google.android.location.internal.GoogleLocationManagerService.START }
      at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2298)
      at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2360)
      at android.app.ActivityThread.access$800(ActivityThread.java:144)
      at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1278)
      at android.os.Handler.dispatchMessage(Handler.java:102)
      at android.os.Looper.loop(Looper.java:135)
      at android.app.ActivityThread.main(ActivityThread.java:5221)
      at java.lang.reflect.Method.invoke(Native Method)
      at java.lang.reflect.Method.invoke(Method.java:372)
      at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
  Caused by: java.lang.IllegalArgumentException: Service Intent must be explicit: Intent { act=com.google.android.location.internal.GoogleLocationManagerService.START }
      at android.app.ContextImpl.validateServiceIntent(ContextImpl.java:1674)
      at android.app.ContextImpl.bindServiceCommon(ContextImpl.java:1773)
      at android.app.ContextImpl.bindService(ContextImpl.java:1751)
      at android.content.ContextWrapper.bindService(ContextWrapper.java:538)
      at com.google.android.gms.internal.v.a(Unknown Source)
      at com.google.android.gms.internal.u.connect(Unknown Source)
      at com.google.android.gms.location.LocationClient.connect(Unknown Source)
      at com.unipagossales.app.merchants.MerchantFragmentActivity.onStart(MerchantFragmentActivity.java:122)
      at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1220)
      at android.app.Activity.performStart(Activity.java:5949)
      at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2261)
      ... 10 more
  **
  </code></pre>
  
  <p>This is the way I create my LocationClient:</p>
  
  <pre><code>public void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
  
      setContentView(R.layout.merchant_activity);
  
      ...
  
      // Create a new global location parameters object
      locationRequest = LocationRequest.create();
      locationRequest.setInterval(Constants.UPDATE_INTERVAL_MILLISECONDS);
      locationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);
      locationRequest.setFastestInterval(Constants.FAST_INTERVAL_CEILING_MILLISECONDS);
  
      // Initialize the location client
      locationClient = new LocationClient(this, new LocationClientConnectionCallbacks(), new LocationClientOnConnectionFailedListener());
  }
  
  @Override
  protected void onStart() {
      super.onStart();
      ...
      locationClient.connect();
      ...
  }
  </code></pre>