If an all calls ActivityCompat.requestPermissions() then the OS displays a dialog with Deny or Permit buttons. There is also a never show this again tick box.
However th
You can use ActivityCompat.shouldShowRequestPermissionRationale() - it will return false
in a few cases:
By combining this with a shared preference to store if you've ever asked for permission, you can effectively determine if they'll actually see the dialog when you call requestPermissions()
.