Android 8.0 Behavior Changes: What You Should Know and Account for in Your Apps (#COL1722A1)
Android 8.0 Behavior Changes: What You Should Know and Account for in Your Apps
Most recent version of Google’s mobile operating system, Android 8.0 Oreo, released on August 21, 2017, came with number of changes, especially when we are talking about system and API behavior changes.
This release has introduced the features that have been long awaited by the Android users and will notably increase performance and improve the user experience while running the apps. As it was pointed out by Oreo developers themselves, most of the changes affect all apps, regardless of what version of Android they target, but still, several of those only affect apps targeting Android 8.0.
So, here is what we should know when it comes to behavior changes of Android 8.0:
Background location limits
As battery life is one of the user’s biggest concerns, Android Oreo introduced background location limits, meaning that device running Android 8.0 receive location updates less frequently. This is done not only to preserve battery but also to improve user experience and maintain system health.
This basically means that apps can receive location updates only a few times each hour and that system now can differentiate between background and foreground apps with a visible activity and foreground service.
It is important to add that background location limit is one of those changes that affects all apps that receive location updates, and these APIs: Location Manager, Wi-Fi manager, Geofencing, Fused Location Provider (FLP) and GNSS Measurements
Background execution limits
Another important change that Android Oreo brings to users when we speak about improvement of battery life are background execution limits.
Many apps and services can run in the same time which can result in poor user experience such as slow performance and even apps shutting down, so Android 8.0. introduced certain limitations on service of background apps.
In short, system now limits particular behaviors of inactive background apps which entered cached state, meaning that background apps now have limits on how freely they can access background services. This has no effect on the foreground apps and services.
Additionally, news is also that apps cannot use their manifests to register for implicit broadcasts. This is done mostly because there are lots of unnecessary broadcasts sent to apps which are draining the battery on your device.
Android 8.0 Oreo have significantly improved apps shortcuts which now enable users to rapidly start common or recommended tasks within an app.
New shortcuts can be displayed in a supported launcher.
Examples of actions you can express as shortcuts are that you can now navigate users to a certain location in a mapping app, send message to a friend in a communication app, load the save point in gaming app and play the next episode of a TV show in a media app. The maximum number of these shortcuts is five.
Options for removing particular shortcut and also uninstalling app are located in a horizontal bar above the list of the apps shortcuts.
Locales and internationalization
Internationalization and localization or adapting system to different languages, regional differences and other technical requirements in Android 8.0., are bit different from those in its predecessor Android 7.0, or to be more precise, there is certain improvement in the behavior when it comes to this issue.
In other words, even though Android 7.0 introduced the concept of being able to specify a default Category Locale, some APIs still continued to use the generic Locale.getDefault() method. This is now abandoned as Android 8.0 use Locale.getDefault(Category.DISPLAY) instead of previously mentioned Locale.getDefault().
When it comes to system security, Android Oreo also introduced certain changes. First of all, it does not longer support SSLv3, and when establishing an HTTPS connection with TLS protocol, HttpsURLConnection no longer falling back or retrying to earlier versions of this protocol. Also, WebView objects cannot access websites over HTTP, but instead each WebView object must use HTTPS.
Apps that use the SYSTEM_ALERT_WINDOW permission can no longer use the certain window types to display alert windows above other apps and system windows. Instead, they have to use a new window type called TYPE_APPLICATION_OVERLAY.
Improvements to Wi-Fi Settings
In order to secure the best user experience, Android 8.0 has introduced many improvements to Wi-Fi Settings, especially in easier choosing of the best and most reliable Wi-Fi network.
Those changes include single Wi-Fi Preferences menu, more readable UI, automatic activation of Wi-Fi when a high quality (and saved) network is nearby, and in overall, guarantees more stability and reliability in this matter.
New handling of identifiers
Among the other changes, there are as well certain changes when it comes to privacy of the platform.
So far, the ANDROID_ID was a unique identifier for the one’s device with the unique value for each user. But with new changes in system, value of ANDROID_ID is now scoped per-app signing key, instead of only per-user. This will remain even after app was reinstalled.
As specified by developers, on devices shipping with Google Play services, you must use Advertising ID, a unique and user-resettable ID for advertising, provided by Google Play services. Same practice should continue with other device manufacturers.
Web form autofill for apps
Android Oreo brings new changes and advancements when it comes to auto-filling the data in the apps, in the same way we usually do it in web browsers. This improvement saves time we lose in re-typing information and minimize input errors in typing, which is not that rare when we do it on our phones. To activate it, autofill service must be enabled in the system settings.
Apps can no longer get access to user accounts unless the authenticator owns the accounts or the user itself grants the access to it.
Of other notable (and very popular!) system changes introduced by Android 8.0, we should definitely mention new keyboard navigation which allows swipes and gestures to navigate with the keyboard and text while typing, new notification dots which extend notifications without opening it and a smart text selection. There is also a Picture-in-Picture mode which enables you to watch two videos in the same time, and similar to iOS, there are now adaptive badges and icons.