The Intent system[1] is the real ingenuity of the original Android platform. I wish it was used more. Unfortunately most apps choose to implement things like picking an image or an address from the address book in their own code instead - thus more or less forcing the user to submit excessive permissions to the app to get anything done - rather than using the intent system.
The 6.0 on demand permissions may be a decent step forward from the old way of forcing the user to hand over all permissions at install time. Even better would be if the user could indicate to the app that it should use an intent based solution instead requesting a certain permission.
Obviously there are exceptions to this, some tasks require permissions and cannot be resolved with intents.
[0] http://stackoverflow.com/questions/5309190/android-pick-imag... [1] https://developer.android.com/guide/components/intents-filte...
Whichever way you look at it it's pretty unacceptable that it's taken so long for Android to implement this.
Location permissions have been in Android since the version 1.0 of the API.
http://developer.android.com/reference/android/Manifest.perm...
I am talking about the API permissions e.g. "the dialog box that pops up confirming you want to allow this app to read your location".
That is the point of this whole discussion right ?
As a result of early privacy breaches, later releases of iOS added per-function permissions on demand, leap-frogging Android in terms of permissions functionality. Android has had some level of per-function permissions on demand in the works since Android 4.4 -- and you could use it in unofficial Android builds like CyanogenMod by turning off individual permissions for apps -- but the feature only finally made it into official builds in Android 6.0. It also got it properly in the API and manifest of apps as well so they can ask permissions as they need them... like the Facebook app needing access to your photos when you select to attach a photo to a post.