Why is it the worst way? It would make total sense to combine those ideas.
This is what developers would do in the past with location access also, but as privacy awareness takes hold people are far more likely just to deny these permissions.
In iOS it's a pain for a user to actually reenable the setting after the fact.