title: Is there any difference between ACCESS_FINE_LOCATION and ACCESS_COARSE_LOCATION permissions between sdk 22 and 25?
body: <p>I'm trying to get the current location from either GPS or from network provider for which I'm using these permissions by declaring it in AndroidManifest.xml,</p>
  
  <pre><code>&lt;uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/&gt;
  &lt;uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/&gt;
  </code></pre>
  
  <p>I'm validating the permission at runtime as,</p>
  
  <pre><code>ActivityCompat.checkSelfPermission(context, android.Manifest.permission.ACCESS_FINE_LOCATION) == PackageManager.PERMISSION_GRANTED)
  </code></pre>
  
  <p>and </p>
  
  <pre><code>ActivityCompat.checkSelfPermission(context, android.Manifest.permission.ACCESS_COARSE_LOCATION) == PackageManager.PERMISSION_GRANTED
  </code></pre>
  
  <p>It works fine for me with Android SDK version 22 whereas in SDK version 25 though the permission is declared within AndroidManifest.xml it's not getting reflected at runtime.</p>
  
  <p>I checked whether these permissions are granted or not by,</p>
  
  <blockquote>
    <p>adb shell dumpsys package com.abc.xyz</p>
  </blockquote>
  
  <p>The permissions were not granted for my app which runs on SDK-25 when I tried to grant the permission with adb shell as,</p>
  
  <blockquote>
    <p>adb shell pm grant com.abc.xyz
    android.Manifest.permission.ACCESS_COARSE_LOCATION</p>
  </blockquote>
  
  <p>I'm suspecting Android made these permissions to be granted from SDK version 25 (Please correct me If I'm wrong). With just googling I'm not able to figure out how the permission level/severity changed between SDK Versions. </p>
  
  <p>Please help me know about it.</p>