3 ms·
I'm sick of Android's permissions system. As you can't reject individual permissions it suffers from permission creep. In their first versions, applications ten
by wladimir 15y ago
I'm sick of Android's permissions system. As you can't reject individual permissions it suffers from permission creep. In their first versions, applications tended to request only permissions they really need. Then every update they request more and more, usually wildly different from the purpose of the application.
For example, Google Maps requires "Allows the application to call phone numbers without your intervention" since last update. I don't want to grant that (it just needs to show a map ffs), but must, or stay behind.
What would great is to be able to selectively grant permissions to applications. I've read that cyanogenmod can do that, but have been careful with reflashing my phone. Maybe I'll give that a try now...
- nextparadigms 15y agoThat's probably so you can call phone numbers for businesses from inside Google Maps, without having to ask for permission at that point each time. I doubt it means it can call on its own. But even so, I agree that the permission system is so generic and creepy, and sometimes you freak out when you see some (probably harmless) permissions, because you don't really know what to expect, and you don't know what kind of power Google has given to developers through these permissions.
- wladimir 15y agoYes that's what it's probably for, I've found this discussion: http://www.wirelessforums.org/uk-telecom-mobile/latest-google-maps-why-does-google-need-these-permissions-120223.html http://www.wirelessforums.org/uk-telecom-mobile/latest-googl... Though others claim that for calling it launches the phone app, and doesn't call out itself... Anyway -- it is just a pretty harmless example. Some games are much worse. I don't have time to research or decompile all interesting apps to see what they are doing with a certain permission. I never call from my map, so don't want to grant it. It may also use the permission for calling premium/foreign numbers behind my back and cramming my cellphone bill. I don't like the "Accept it all or leave" approach.
- CrazedGeek 15y agoIf anyone's interested, on CyanogenMod 7.2 the relevant setting's in Settings -> CyanogenMod settings -> Application -> Permission management. After that, you can turn permissions on and off from the app manager. (As far as I can tell, this hasn't been implemented in any of the CM9 nightlies.)
- gcb 15y agoand you will have to force close most apps all the time :( but still, a step in the right direction.
- BlackShirt 15y agoThe problem with this approach is that the app expects the permission and will most likely crash if rejected. One alternative which works better is the LBE Privacy Guard app, what it does is, instead of denying the app to read the contacts list for example, it simply gives it an empty one.
- jakeonthemove 15y agoCM and DroidWall it - no more problems with apps using your bandwidth without your permission...
- inoop 15y agoAfaik, the way permissions work on Android is that each application is its own user, and each permission is a group. If you have a rooted device, you can simply log in and remove the user from the group to un-grant that permission. I doubt it will help you though, because it will most likely cause some function somewhere to throw an exception which will in turn cause the app to crash.
- wladimir 15y agoThanks. I doubt it will help you though, because it will most likely cause some function somewhere to throw an exception which will in turn cause the app to crash. That's why I blame the Android platform and not just the apps. If Android made it clear from the start that permissions are optional, and that requests for them can be rejected, applications would be written to cope with that. It would also force developers to explain why they need a certain permission.
- fpgeek 15y agoYou're absolutely right. Not having a distinction between required permissions (e.g. a music player is pretty useless without the permission to read the SD card) and optional ones (e.g. a Twitter app can attach your location to your tweets if you want it to, but it doesn't have to) is the biggest problem with Android's permissions system. Ironically, it is more of a social problem than a technical one. If people were expected to gracefully handle the exceptions thrown when permissions are denied, we'd be 80% of the way there, I think.
- inoop 15y agoI think a lot of app crashes are due to the fact that app developers simply don't know what to expect. This is a direct result of shoddy documentation. For example, the Android API has a tendency to return null from functions even when the documentation doesn't say it will (i.e. WifiManager.getScanResults and friends), or simply doesn't document return values at all (i.e. ConnectionManager.getActiveNetworkInfo). The Google guys aren't real stars when it comes to documenting what exceptions may be thrown either. You can't blame app developers for not gracefully handling exceptions and return values that are not documented.