title: Android request permission doesn't work
body: <p>My problem is the request permission window doesn't show up for the permissions below. But if I changed the permissions to request from</p>
  
  <pre><code>static final String[] PERMISSIONS = new String[]{
      Manifest.permission.PROCESS_OUTGOING_CALLS,
      Manifest.permission.CALL_PHONE
  };
  </code></pre>
  
  <p>to</p>
  
  <pre><code>static final String[] PERMISSIONS = new String[]{
      Manifest.permission.READ_EXTERNAL_STORAGE
  };
  </code></pre>
  
  <p>it works and I don't know why. So the dialog shows up for <code>READ_EXTERNAL_STORAGE</code>, but not for <code>PROCESS_OUTGOING_CALLS</code> and <code>CALL_PHONE</code>. Is my code wrong?<br><br>Manifest:</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="utf-8"?&gt;
  &lt;manifest
      xmlns:android="http://schemas.android.com/apk/res/android"
      package="com.example.administrator.myapplication"&gt;
      &lt;uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS" /&gt;
      &lt;uses-permission android:name="android.permission.CALL_PHONE" /&gt;
      &lt;uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /&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;activity android:name=".MainActivity"&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;/application&gt;
  &lt;/manifest&gt;
  </code></pre>
  
  <p><br>Activity:</p>
  
  <pre><code>import android.Manifest;
  import android.os.Build;
  import android.os.Bundle;
  import android.support.annotation.RequiresApi;
  import android.support.v7.app.AppCompatActivity;
  
  import java.util.ArrayList;
  import java.util.Arrays;
  import java.util.List;
  
  import static android.content.pm.PackageManager.PERMISSION_DENIED;
  import static android.support.v4.content.PermissionChecker.PERMISSION_GRANTED;
  
  public class MainActivity extends AppCompatActivity {
      protected static final int PERMISSION_REQUEST_CODE = 11186;
      static final String[] PERMISSIONS = new String[]{
          Manifest.permission.PROCESS_OUTGOING_CALLS,
          Manifest.permission.CALL_PHONE
      };
      @Override
      protected void onCreate(Bundle savedInstanceState) {
          super.onCreate(savedInstanceState);
          setContentView(R.layout.activity_main);
          checkPermission(PERMISSIONS);
      }
      protected void checkPermission(String... permissions) {
          if (Build.VERSION.SDK_INT &gt;= Build.VERSION_CODES.M) {
              String[] requestPermissions = getRequestPermissions(permissions);
              if (requestPermissions.length &gt; 0)
                  requestPermissions(requestPermissions, PERMISSION_REQUEST_CODE);
          } else {
              int[] grantResults = new int[permissions.length];
              Arrays.fill(grantResults, PERMISSION_GRANTED);
              onRequestPermissionsResult(PERMISSION_REQUEST_CODE, permissions, grantResults);
          }
      }
  
  
      @RequiresApi(api = Build.VERSION_CODES.M)
      private String[] getRequestPermissions(String[] permissions) {
          List&lt;String&gt; list = new ArrayList&lt;&gt;();
          for (String permission : permissions) {
              if (checkSelfPermission(permission) == PERMISSION_DENIED) {
                  list.add(permission);
              }
          }
          return list.toArray(new String[list.size()]);
      }
  }
  </code></pre>
  
  <blockquote>
    <p>build.gradle:</p>
  </blockquote>
  
  <pre><code>  android {
      compileSdkVersion 25
      buildToolsVersion "25.0.2"
      defaultConfig {
          applicationId "com.example.administrator.myapplication"
          minSdkVersion 17
          targetSdkVersion 25
          versionCode 1
          versionName "1.0"
          testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
      }
      buildTypes {
          release {
              minifyEnabled false
              proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
          }
      }
      productFlavors {
      }
  }
  
  dependencies {
      compile fileTree(include: ['*.jar'], dir: 'libs')
      androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
          exclude group: 'com.android.support', module: 'support-annotations'
      })
      compile 'com.android.support:appcompat-v7:25.3.1'
      testCompile 'junit:junit:4.12'
  }
  </code></pre>
  
  <p>Thanks for your help!</p>