title: ACCESS_FINE_LOCATION being granted in manifest, yet always getting permission denied?
body: <p>I'm currently trying to get the latitude and longitude of the user's current location. I have enabled the following permissions in the manifest. TargetSDK and min sdk are 23</p>
  
  <pre><code>&lt;manifest xmlns:android="http://schemas.android.com/apk/res/android"
  package="com.name.app"&gt;
  
  
  &lt;application
      android:allowBackup="true"
      android:icon="@mipmap/ic_launcher"
      android:label="@string/app_name"
      android:supportsRtl="true"
      android:theme="@style/AppTheme"&gt;
      &lt;supports-screens
          android:anyDensity="true"
          android:largeScreens="true"
          android:normalScreens="true"
          android:smallScreens="false" /&gt;
  
  
      &lt;activity
          android:name=".SplashScreen"
          android:screenOrientation="portrait"&gt;
          &lt;intent-filter&gt;
              &lt;action android:name="android.intent.action.MAIN" /&gt;
  
              &lt;category android:name="android.intent.category.LAUNCHER" /&gt;
          &lt;/intent-filter&gt;
      &lt;/activity&gt;
      &lt;activity
          android:name=".MainMenu" /&gt;
      &lt;activity
          android:name=".NeedToKnow" /&gt;
      &lt;activity
          android:name=".SelectTopic" /&gt;
      &lt;activity
          android:name=".DisplayTopicInformation"/&gt;
      &lt;activity
          android:name=".SelectCheckList" /&gt;
      &lt;activity
          android:name=".ViewCheckList"/&gt;
      &lt;activity
          android:name=".FindLocation"&gt;&lt;/activity&gt;
  &lt;/application&gt;
  
  &lt;uses-permission android:name="android.permission.INTERNET" /&gt;
  &lt;uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /&gt;
  &lt;uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /&gt;
  
  
  &lt;/manifest&gt;
  </code></pre>
  
  <p>In order to do so I understand that I need to perform a runtime check for the permissions.  However when I perform the following I always get -1 in return. (PERMISSION_DENIED)</p>
  
  <pre><code>int permissionCheck = ContextCompat.checkSelfPermission(getApplicationContext(),
              Manifest.permission.ACCESS_FINE_LOCATION);
  </code></pre>
  
  <p>Is there a step I am missing when trying to access current locations? </p>
  
  <p>Full code is here: </p>
  
  <pre><code>private String getZipcodeFromCurrentLocation() {
  
      int permissionCheck = ContextCompat.checkSelfPermission(getApplicationContext(),
              Manifest.permission.ACCESS_FINE_LOCATION);
  
      String zip = null;
      Location location = null;
      LocationManager lm = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
  
      LocationListener locationListener = new LocationListener() {
          public void onLocationChanged(Location location) {
              latitude = location.getLatitude();
              longitude = location.getLongitude();
  
              Log.i("updated lat", String.valueOf(latitude));
              Log.i("updated lng", String.valueOf(longitude));
          }
  
  
      };
  
      try {
          if (PackageManager.PERMISSION_GRANTED == permissionCheck) {
              lm.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0, locationListener);
          }
  
      } catch (SecurityException e){
          e.printStackTrace();
      }
      return zip;
  
  }
  </code></pre>