other8026 Thank you for answering.
I think these permissions are related to my question, as they're globally switchable:
- location
- camera
- mic
(should be all of this kind, right?)
having the options:
- allow while in use
- ask every time
(- not allowed)
I usually have the above listed permissions globally off, and granting them only being asked every time. I'm doing that to not accidentally leave a permission globally on, safe is safe. I set the permissions carefully one by one for every app, and I do use only apps that I generally trust. I may be over-cautious on that, but even that way, I'd like being always in control of any permissions usage, thus the "ask every time" + globally off by default.
About the use cases. Even if I trust an app, and having granted permission(s) to it, there are cases where I don't want to use a permission as there's actually no reason for it, eg. opening the map to check something, without the actual need of my location, or eg. checking the call history, without the actual need of the mic nor cam (as I'm not going to call anyone). If the global permission switch was left on by the last "ask for it", the "door" is kept open for such use cases.
About the implementation. Is it thinking too simple, by using a counter? If there were zero apps using location, then one is started, location is enabled, (counter gets one), then app is closed (counter gets back to zero apps using location), then switching it automatically off back again? I think that's more straight-forward than eg. BT or WIFI, where a timeout makes sense. For location/mic/cam a counter of "how many apps are actually using location" may be enough? If there is eg. an app running in the background tracking GPS (some hiking- or any other sports activity tracker) then the counter would remain >0 and location is kept on until that app is closed too (with closed I mean the UI is closed, not running in background like a messanger or similar although the UI is closed).
What's your opinion? Am I too cautious? I'd like keeping those global permissions off, granting by start of usage, and having it disabled automatically afterwards. To me it makes a difference, I start an app, I say yes I grant you access now, while in the background the global access is switched on, which I do have to keep in mind to revoke it afterwards, you know what I mean? It happens in the background and one has to keep that in mind and getting active oneself after done using the app (later in time). To me it would be safety, as the system doesn't forget, whereas I'm prone to it. Thank you for any thoughts, much appreciated.