title: Can't turn on location on android api23?
body: <p>I have used the following code and the dialogue that asks for permission shows as expected. But when I click "allow" it doesn't do anything. The log message doesn't appear as if the permission wasn't granted so I went to my parameters to verify if location is "on" and it was "off". Wasn't it supposed to be on because I granted the app access to my location ?
  If I manually turn it "on" and then run the app again, once it asks for my permission, it works and shows the log message but isn't the whole point of asking for permissions (via dialogue) to turn on location (when it's off) if the user clicks "allow" ? 
  Am I doing something wrong ? I should mention that I'm running the app on api23</p>
  
  <p>is is the code in my <strong>Oncreate</strong>:</p>
  
  <pre><code> mApiClient = new GoogleApiClient.Builder(this)
                  .addConnectionCallbacks(this)
                  .addOnConnectionFailedListener(this)
                  .addApi(LocationServices.API)
                  .build();
  
   mApiClient.connect();
  
      // Create the LocationRequest object
          mLocationRequest = LocationRequest.create()
                  .setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY)
                  .setInterval(10 * 1000)        // 10 seconds, in milliseconds
                  .setFastestInterval(1 * 1000); // 1 second, in milliseconds
  </code></pre>
  
  <p>and this is my <strong>OnConnected</strong> method:</p>
  
  <pre><code>    public void onConnected(@Nullable Bundle bundle) {
              //start the service
  //checking and asking for permission
  
              if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED &amp;&amp; ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
                  if (ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
                      ActivityCompat.requestPermissions(this,
                              new String[]{Manifest.permission.ACCESS_FINE_LOCATION},
                              MY_PERMISSION_ACCESS_FINE_LOCATION);
                  }
                  //   public void onRequestPermissionsResult(int requestCode, String[] permissions,
                  //                                          int[] grantResults)
                  // to handle the case where the user grants the permission. See the documentation
                  // for ActivityCompat#requestPermissions for more details.
                  return;
              }
              Location location = LocationServices.FusedLocationApi.getLastLocation(mApiClient);
  
              if (location == null) {
                  LocationServices.FusedLocationApi.requestLocationUpdates(mApiClient, mLocationRequest, this);
  
              } else {
                  //If everything went fine lets get latitude and longitude
                  currentLatitude = location.getLatitude();
                  currentLongitude = location.getLongitude();
                  Log.v("currentLatitude",currentLatitude + " WORKS " + currentLongitude + "");
              }
  
      }
  </code></pre>