Live data from Hacker News

Hidden “App Ops” Feature in Android 4.3 Lets You Disable Permissions From Apps

droid-life.com

11–20 of 63 posts

Re: Hidden “App Ops” Feature in Android 4.3 Lets You Disable Permissions From Apps

#11
Fantastic. I barely have any apps on my phone because I refuse to accept the egregious abuse of privacy (why does Pandora or Yelp need to access my contacts etc). Recently some friends recommended WhatsApp, but after seeing the massive wall of permissions it was requesting, I didn't install.

I've been waiting for this feature since the day I got my first android phone.

Re: Hidden “App Ops” Feature in Android 4.3 Lets You Disable Permissions From Apps

#12
This is a good way to introduce this feature.

Developers: You are now on notice to handle SecurityException and fail soft. in most cases, this should be easy to do, and when it isn't, you can, at least, post a dialog that says" "This app really needs SOME_PERMISSION in order to run."

But since it is hidden, you are not on the hook, yet, to support users that start making use of this feature.

Re: Hidden “App Ops” Feature in Android 4.3 Lets You Disable Permissions From Apps

#14
post #2

This looks very useful. The Android permission system is pretty good from a technical point of view, but since a lot of apps just require all permissions regardless, and people are trained to disregard this when installing, it's almost moot. I wonder if Google is using requested permissions in Play rankings. The apps which require _all_ permissions should definitely be ranked lower.

This lets you take those permissions away retrospectively. In many cases I suspect you will find it is a free app's ad network that's asking for ridiculous permissions, e.g. access to location in a flashlight app.

Google is probably reluctant to do things that "harm" competing ad networks for fear of getting sued.

Re: Hidden “App Ops” Feature in Android 4.3 Lets You Disable Permissions From Apps

#15
post #9

It would be nice if there was also a "simulate" option for some permissions. That way the app would think it has a permission when it doesn't. It could return an empty phonebook for contacts or random location for GPS or confirm a SMS was sent when it never went out, etc.

That's exactly what Privacy Guard in CM does.

https://plus.google.com/+CyanogenMod/posts/86LLXrDpVWY

Re: Hidden “App Ops” Feature in Android 4.3 Lets You Disable Permissions From Apps

#16
post #7

Earlier quoted context omitted.

Heaven forbid your app does error checking!

It does error checking. Would you write a program that constantly checks the config file to see if something changed, or to see if the euid it is running as suddenly changes? Of course not, why would you? And why would an Android app constantly check to see if the permissions it has been granted are suddenly un-granted? More to the point: why would an app ask for permissions it didn't need in the first place? The mos…

Android as a framework is designed in such a way that most of the times you wish to access a feature of the device requires a permission you should be using components that can enforce a security check with the PackageManager or can handle the SecurityExceptions generated from not having a permission. Poorly architect-ed apps will have an issue with this, but those apps already have problems.

Re: Hidden “App Ops” Feature in Android 4.3 Lets You Disable Permissions From Apps

#17
post #7

Earlier quoted context omitted.

Heaven forbid your app does error checking!

It does error checking. Would you write a program that constantly checks the config file to see if something changed, or to see if the euid it is running as suddenly changes? Of course not, why would you? And why would an Android app constantly check to see if the permissions it has been granted are suddenly un-granted? More to the point: why would an app ask for permissions it didn't need in the first place? The mos…

"More to the point: why would an app ask for permissions it didn't need..."

Ad networks. So wrap the calls to the ad network library in try/catch, and, in most cases, that takes care of the mostly gratuitous permissions.

Re: Hidden “App Ops” Feature in Android 4.3 Lets You Disable Permissions From Apps

#18
Cue the piles of posted code snippets on StackOverflow and similar to uselessly error out on startup without the full set of requested permissions.

Well-behaved apps won't ask for permissions they don't need anyway, and badly-behaved apps will simply refuse to run without all the permissions they (and their ad services) request.

Without the ability to pretend to have the permission but not actually provide useful data, this really won't help much.

On the bright side, at least a subset of these do behave in the sensible way: various reports suggest that calendar and contact accesses will successfully return empty results rather than erroring out, for instance.

Re: Hidden “App Ops” Feature in Android 4.3 Lets You Disable Permissions From Apps

#19
post #5

I really like that Google have added this feature, but unfortunately I don't see it helping things much. I'm willing to be that many of the applications requesting odd and unnecessary permissions will be rewritten to simply not work when any one of those permissions aren't granted to them.

Many programs already won't work since they assume that they have the permissions they asked for.

I'm sure this was a 'hidden' feature as it wasn't ready for it's prime time. I would expect developers to receive a notification that they need to update applications to support this - or things will be made to simply fail softly to begin with.

Re: Hidden “App Ops” Feature in Android 4.3 Lets You Disable Permissions From Apps

#20
post #7

Earlier quoted context omitted.

It does error checking. Would you write a program that constantly checks the config file to see if something changed, or to see if the euid it is running as suddenly changes? Of course not, why would you? And why would an Android app constantly check to see if the permissions it has been granted are suddenly un-granted? More to the point: why would an app ask for permissions it didn't need in the first place? The mos…

Android as a framework is designed in such a way that most of the times you wish to access a feature of the device requires a permission you should be using components that can enforce a security check with the PackageManager or can handle the SecurityExceptions generated from not having a permission. Poorly architect-ed apps will have an issue with this, but those apps already have problems.

Handling an exception is one thing. Designing your app to work gracefully with random permissions denied sounds like a combinatorial explosion of testing and UI design.
Post reply on HN