title: How to know user check "Never ask again" before calling requestPermissions
body: <p>I was wondering, how to know user check "Never ask again" before calling <code>requestPermissions</code>.</p>
  
  <p>I had gone through <a href="https://stackoverflow.com/questions/30719047/android-m-check-runtime-permission-how-to-determine-if-the-user-checked-nev">Android M - check runtime permission - how to determine if the user checked &quot;Never ask again&quot;?</a> but can't get a proper solution yet.</p>
  
  <p>Before that, please allow me to explain my motive.</p>
  
  <p>I have the following feedback dialog form.</p>
  
  <p><a href="https://i.stack.imgur.com/v3qt6.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/v3qt6.png" alt="enter image description here"></a></p>
  
  <p>When user tick on <strong>Reply to me</strong> <em>explicitly</em>, I will perform <code>requestPermissions</code> if permissions is not granted yet. There can be 3 possible outcome.</p>
  
  <h2>1st outcome. Happens when calling <code>requestPermissions</code> for 1st time</h2>
  
  <p><a href="https://i.stack.imgur.com/uiTQH.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/uiTQH.png" alt="enter image description here"></a></p>
  
  <h2>2nd outcome. Happens when calling <code>requestPermissions</code> for 2nd, or more time</h2>
  
  <p><a href="https://i.stack.imgur.com/Orlti.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/Orlti.png" alt="enter image description here"></a></p>
  
  <h2>3rd outcome. Happens when user has ticked "Never ask again"</h2>
  
  <p>No dialog will be shown. <code>requestPermissions</code> will never pop up any dialog. I need untick the checkbox on behalf of user, as <code>onRequestPermissionsResult</code> will tell me permission is denied.</p>
  
  <p>3rd outcome will produce bad user experience. As when user tick on the checkbox, it will become untick immediately.</p>
  
  <p>I would like to hide <strong>Reply to me</strong> before making feedback form visible. To do this, I need to know whether user has already check "Never ask again".</p>
  
  <p><code>shouldShowRequestPermissionRationale</code> doesn't help much. As, <code>shouldShowRequestPermissionRationale</code> will return false in 2 cases</p>
  
  <ol>
  <li>User has already check "Never ask again".</li>
  <li><code>requestPermissions</code> is never called before.</li>
  </ol>
  
  <p>I don't find a way to differentiate between both.</p>