The only annoying and inexplicable thing is that some apps run their own background process for push notifications, rather than using GCM, so pushes stop coming in if you kill those.
Security is always at odds with convenience. It's easy to require a pop up to ask for permission every time and have user getting so used to these pop ups that they just automatically tap "yes"
There are valid reasons for this, e.g., if you want your app to work on Android devices without the proprietary Google applications.
Telegram is the only application with wake lock permissions left. I once even tried denying my lock screen the permission, which was a mistake... Took a while to turn the device back on.
It's the same reason that denying the permission to automatically run on boot is basically useless from a privacy perspective -- the application will just automatically run when some other event happens.
Settings -> Privacy -> Location Services -> Uber -> Never
Not saying it can't be done, just that there are many corner cases that can easily "break the internet" for non tech users if not handled in a smart way.
Also low power mode can also be used as a sort of incognito mode because it stops all background activity to preserve battery.
I am not totally sure of geofencing.
Can you elaborate on this? Whats the connection with relaunching and a geofence?
Someone who has actually worked with geofences, please correct me if I'm wrong.
Last week during Thanksgiving travel I received a advertisement from the Uber app (as a notification) when I arrived at the SFO airport, even though I did not use the app at all that day. That's when I decided it was time to take away the unrestricted data access. I do agree that it would be nice to have better privacy options for each app, but I thought I'd share this workaround for the time being.
You can set location permission for App with "Never/While Using/Always".
You can disable Background App refresh for individual App. iOS App didn't even have ability to run in background in previous version.