Android and iOS (afaik) implement a relativly fine-grained permission schema for their apps.

But as I user I only have the change to acceppt all or nothing.

When I think about it, it shouldn't be a big problem for the OS to implement a feature to deny certain permission for an app withouth breaking them.

Some examples:

  • internat access: all mobile apps have to cope with internet access not beeing available
  • access to contacts: the OS could lie to the app and give it an empty address book
  • gps access: again, the OS could lie and give the app the coordinates of the north pole (for example) :-)

Does anybody know why this is not implemented directly in the OS?

  • That would give the user the ability to screw things up (make apps crash/etc) and these same incompetent users/loosers will then blame the OS or the phone for not working properly. Personally I'd love to see a firewall in iOS just so I can block all the ads/analytics garbage.
    – user42178
    Mar 14, 2015 at 13:29
  • 1
    However, these features do exist as add-ons on rooted Android phones and as a jailbreak tweak for iOS 7 devices.
    – user42178
    Mar 14, 2015 at 13:32

1 Answer 1


Firstly, in iOS you can deny access to certain resources (when they're first requested by an App you receive a popup you can either accept or reject) and therefore Apps are designed to handle the scenario of access being rejected. You can also disable Internet access on an App by App basis, although you're not explicitly asked this ahead of time. Overall there is a significantly smaller range of permissions though.

Relating to Android, I can think of a few reasons:

  • A permission failure throws an exception which a developer may not necessarily catch. Most Android Apps are typically not developed with the assumption that permissions will be granted selectively.
  • If a bunch of Apps frequently crash or work unreliably without notice it will reflect poorly on Android in the eyes of average users who don't understand the technical aspect.
  • Blocking Internet would be an excellent ad-block function. If an ad-supported App such as a calculator doesn't require Internet to do its core function then users could easily disable Internet and block Ads. I imagine this is particularly untenable in the eyes of Google.
  • It would create a significant support burden for developers to maintain a list of permissions which are "really" required for certain functions. Users could easily think an App was buggy but actually they'd just removed a required permission. For developers having to build in prompts instructing the user that additional permissions are required would create extra complexity at every point where permissions are required.
  • App developers should already be applying the principle of least privilege. If an App is grasping for access to things it obviously doesn't need then it's a good sign you should be suspicious.
  • 83% of Android users don't pay attention to permissions as they are

Things might be different if:

  1. Android developers were told from the start to assume some permissions might not be granted
  2. Android provided a built in prompt allowing users to enable a required permission before throwing an exception
  3. And there was a way to treat Ads differently from other Internet traffic

Obviously if you're a power-user then App Ops might be an option for you.

  • And there was a way to treat Ads differently from other Internet traffic to me that's the whole point of a firewall on a mobile device. If you can't block that waste of bandwidth then a firewall is pointless.
    – user42178
    Mar 15, 2015 at 0:08
  • I thought newer versions of Android also support denying access to certain resources now.
    – JAB
    Oct 12, 2016 at 22:12

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .