Detecting when an Android permission can only be granted via Settings

I was surprised to discover how easy it is, even when following the official Android permissions guide , to end up with a button that does nothing. Setting the stage: how it works on iOS On iOS CLAuthorizationStatus has 6 possible states to indicate what level of access a user has granted to their location: public enum CLAuthorizationStatus { case notDetermined case restricted case denied static…