User permissions in Android 10 and later
Designing successive versions of Android, Google is adding more permissions and changes to this operating system related to user privacy and data protection. Since version 11, however, a real revolution is happening in the user permissions subsystem, affecting all actively supported applications available on Google Play.
The changes are frequent – introduced with each successive version of the system – and communicated in a manner characteristic of Google, that is, vaguely. Why did my Android app suddenly stop working? – is probably the most common question that I heard over the past two years by owners of various applications available on Google Play. The answer is almost always the same – if the app uses location services, saves data to the user’s drive, has built-in Bluetooth-related features – then what worked up to Android 10, from Android 11 onward will not work unless the app asks the user’s permission to use these features, and unless the user agrees to use them.
In the latest release of Android – version 13 – there are further permissions affecting app functionality – following the iOS model, Android now asks the user for permission to show notifications. If the user does not agree, the notification app will not display notifications, and consequently all functions dependent on showing notifications, such as background location services, will be disabled.
It is worth being aware that while owners of applications based on the mentioned functionalities, such as monitoring systems, for example, may be annoyed by these changes, as the applications practically every year require significant updates, from the user’s point of view, these changes are as right as possible and introduced far too late.
The official reason for the changes in Android is concern for user privacy. In fact, such far-reaching changes limiting Google’s ability to track users are extremely inconvenient for the corporation, as they directly hit the operating system maker’s business model (advertising and data profiling), but the company was forced to do so by a gigantic financial penalty of approx. 4.5 billion euros for violating user privacy.
To sort out the permissions system in Android a bit and have an idea of what to expect a short guide to the next versions of user permissions in the next versions of Android:
Bluetooth services, location with user’s permission, saving data to disk will work as before. If the application uses constant tracking of the user’s position in the background, it is mandatory from Android 9 to display a permanent notification in a block of so-called silent notifications on the system bar that the application is constantly running in the background and collecting location data. The notification must be constantly present despite the fact that the user has given consent for such activity – it is supposed to remind the user of the consent given and the fact that he can revoke it at any time.
The first major change for apps that build their main functionality on knowing the user’s fixed location. Determining the user’s position works only after the user has given consent and only when the app is running. A new location permission “Background Location” has been introduced. The question for this permission is included directly in the location question window under the name “Always allow”. Permanent determination of the user’s position is only possible if the user accepts this permission.
Android 11 and 12
This version of Android, from the point of view of app owners, is the most troublesome – there is no way to getting without the code adjustments and app updates. Android 11 completely changes the way the “Background Location” permission is handled – it is no longer shown in the location prompt balloon, and you have to send the user back to the system settings to select the appropriate option manually. However, this can only be done after the user has granted any other location permission – getting location permissions is therefore a two-step process.
This version of Android also changes the permissions for saving data and using bluetooth, camera and microphone functions. Apps have their ability to write data to various system folders completely revoked – data can only be written to a dedicated app folder. In order to get the ability to write and read data from media file folders – especially important for applications using the photo and microphone functions – additional special permissions have been introduced subject to strong restrictions from the operating system.
Some of the permissions related to location, camera, microphone and Bluetooth have been moved to the so-called special sensitive permissions – they can only be used by apps whose functionality justifies the use of these permissions, and their publication on Google Play is preceded by obtaining additional permission from Google for publication through an extended review process.
A new “Show notifications” permission has been introduced in Android 13. The location permissions themselves work as they did in Android 11 and 12. However, it should be noted that in order to enable background location, as early as Android 9 you have to show a permanent notification in the so-called “silent” block on the system bar, informing the user that the app is running and collecting location data. So in Android 13, in order to enable background location, the user must first agree to show notifications, and only then agree to location through a two-step permission process.