title: Requested Android permissions not showing in app permission settings
body: <p>I'm working on a Cordova app that needs the permissions <code>INTERNET</code>, <code>WRITE_EXTERNAL_STORAGE</code>, <code>ACCESS_WIFI_STATE</code>, and <code>CHANGE_WIFI_MULTICAST_STATE</code>. I have requested these permissions in the manifest like so</p>
  <pre><code>&lt;uses-sdk android:minSdkVersion=&quot;21&quot; android:targetSdkVersion=&quot;27&quot; /&gt;
  &lt;uses-permission android:name=&quot;android.permission.INTERNET&quot; /&gt;
  &lt;uses-permission android:name=&quot;android.permission.WRITE_EXTERNAL_STORAGE&quot; /&gt;
  &lt;uses-permission android:name=&quot;android.permission.ACCESS_WIFI_STATE&quot; /&gt;
  &lt;uses-permission android:name=&quot;android.permission.CHANGE_WIFI_MULTICAST_STATE&quot; /&gt;
  </code></pre>
  <p><code>INTERNET</code>, <code>ACCESS_WIFI_STATE</code>, and <code>CHANGE_WIFI_MULTICAST_STATE</code> are considered normal permissions and according to the <a href="https://developer.android.com/guide/topics/permissions/overview.html#normal-dangerous" rel="nofollow noreferrer">docs</a> they will be automatically accepted by Android at install time and the user can't revoke them.</p>
  <p>Now in the <code>MainActivity</code> created by Cordova I added this code within an <code>if</code> block that checks to make sure we are on 6.0 or above:</p>
  <pre><code>if (checkSelfPermission(Manifest.permission.ACCESS_WIFI_STATE) == PackageManager.PERMISSION_GRANTED &amp;&amp;
                  checkSelfPermission(Manifest.permission.CHANGE_WIFI_MULTICAST_STATE) == PackageManager.PERMISSION_GRANTED &amp;&amp;
                  checkSelfPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED) {
              Log.d(TAG, &quot;has permission&quot;);
          }
          else {
              Log.d(TAG, &quot;no permission&quot;);
              requestPermissions(new String[] { Manifest.permission.ACCESS_WIFI_STATE,
                      Manifest.permission.CHANGE_WIFI_MULTICAST_STATE, Manifest.permission.WRITE_EXTERNAL_STORAGE }, 0);
          }
  </code></pre>
  <p>The problem is that on an Android device running 5.1.1 this works and I see all 4 permissions when I go to the permission settings of the app. However on a device running 7.0 and 7.1.1 I get a dialog asking to approve the <code>WRITE_EXTERNAL_STORAGE</code> and all other permissions, since they are normal, do not get asked for approval. They are automatically approved. The issue is that even though I have permission, on the newer devices I can't do things related to these permissions and if I go to the app settings for permissions all I see is permission Storage granted. Nothing for <code>INTERNET</code>, <code>ACCESS_WIFI_STATE</code>, or <code>CHANGE_WIFI_MULTICAST_STATE</code>. I have not tested specifically on a 6.0 device but I think I would have the same issue.</p>
  <p>Why are the permissions not showing in the permission settings, and why cant I perform operations that need these permissions, even though Android says I have permission?</p>