Android 10 (API level 29) introduces a number of features and behavior changes to better protect user’s privacy. These changes extend the transparency and control that users have over their data and the capabilities they give to apps. These features might mean that specific behaviors or data that your app is depending on may behave differently compared to older versions of the platform. The impacts on your app should be minimal if your app is following current best practices for handling user data.
1) Access to device location in the background requires permission:
To support the additional control that users have over an app’s access to location information, Android 10 introduces the ACCESS_BACKGROUND_LOCATION permission.
An app is considered to be accessing location in the background unless one of the following conditions is satisfied:
An activity belonging to the app is visible.
The app is running a foreground service that has declared a foreground service type of location.
2) Removal of contacts affinity:
Starting in Android 10, the platform doesn’t keep track of contacts affinity information. As a result, if your app conducts a search on the user’s contacts, the results aren’t ordered by frequency of interaction.
3) Restriction on non-resettable device identifiers:
Android 10 will restrict apps from knowing the IMEI or Serial number of your device. These are device identifiers and can be misused for illegal activities like IMEI spoofing. Instead, app developers will now have to use other resettable device identifiers, unless otherwise approved by Google, your carrier, or your organisation (in case of enterprise devices).
4) Limited access to clipboard data:
Unless your app is the default input method editor (IME) or is the app that currently has focus, your app cannot access clipboard data on Android 10 or higher.
5) Protection of USB device serial number:
If your app targets Android 10 or higher, your app cannot read the serial number until the user has granted your app permission to access the USB device or accessory.
6) Restriction on enabling and disabling Wi-Fi:
Apps targeting Android 10 or higher cannot enable or disable Wi-Fi.
7) Scoped Storage:
With Android 10, external storage access is restricted to an app’s own files and media. This means that an app can only access files in the specific app directory, keeping the rest of your data safe. Media such as photos, videos and audio clips created by an app can be accessed and modified by it. Any further access to files will need the user’s permission
8) Background activity restrictions:
With Android 10, apps can no longer launch activities in the background without user interaction. This is intended to minimize screen interruptions for users and give them more control over what happens on their device. Apps will now need to seek permission from users to launch background activities by sending them a notification.