Android O is now officially launched. With a ton of addons, features and improvements the new Android Oreo is all set to roll-out to mobile devices. Starting with Pixel and Nexus phones, the update will roll-out to a range of mobile phones. Along with the wide array of features comes complexities. All the key Android O features require you to customize your app and enable these functionalities. At this point a majority of app owners and developers are trying to find answers to the following questions:
- Why should I enable the new Android O features?
- Is it really necessary to work on these implementations?
- What are the benefits of upgrading my apps for Android Oreo?
5 New Android Oreo Features and Their Implementation:
Discussed here are each of the Android Oreo features in depth to give you an idea of what it takes to develop your app for the new add-ons and why you should do it. Let’s dive into the new Android Oreo features:
1. Notification Channels:
Android O has taken notification customizations to the next level. Oreo comes with a customizable notification channel which facilitates the display and management of notifications. Users can now customize notifications, group them by type, and even change the color and background of the notification channel.
To create the notification channel, you will need to create the instance of notification channel with unique ID, name and importance and inform the notification manager such as:
NotificationChannel mChannel = new NotificationChannel(id, name, importance);
NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
2. Notification Dots/Badges:
Another likable feature of Android O is the notification dots. A small circle will appear in the top right corner of the app depicting the number of pending notifications. From Android 8.0, we can display the notification badges on app icons and it shows the number of notifications that are related to one or more notification channels in an app. The user can also turn off the badges from the Settings app. To see the badge related notification, we will need to press and hold the app icon.
By default, your app will show the notification count but you can choose to disable this feature. To hide the badges, you can use the setShowBadge() method. For Eg:
// Create the Notification Channel with unique Id, Name and Importance NotificationChannel mChannel = new NotificationChannel(id, name, importance); mChannel.setShowBadge(false);
3. Background activity limitations:
Android 8.0 introduces new background limits for preventing the overuse of device battery and memory. New limits are added on location, wifi-scan, background services and broadcast. This can become an issue for apps that are not upgraded for Android O. If your app relies on background services for some of its key functions then it can result in crashes or poor performance. If you are planning to upgrade your app then preparing for this Android Oreo feature is very important.
– Now Apps cannot get the frequent location update directly. We can use the Foreground Service and Geofencing API to get the frequent location update.
– Any app that uses the background services will need to replace it by using JobScheduler or start a foreground service.
– Android 8.0 target app cannot define the Implicit Broadcast Receiver in Manifest.
We will need some efforts to integrate these limitations into existing services. It depends on the number of services and broadcast used in the existing app.
4. Picture in picture (PIP):
Picture in picture is a type of multi-window mode that is mostly used for video playback activity, messaging and video calls. Android 7.0 already had the PIP feature available for the Android TV users from Android 7.0 but now it is available for other Android devices as well. You can probably access this feature on your Youtube app even on the old versions of Android. The PIP mode enables multitasking in its real sense. You can simultaneously use two apps on the same screen and interact accordingly.
When activity turns to PIP mode, it enters in a paused state of the life cycle and it should be able to show the content properly. To show the content in activity paused state, we can utilize the onStop() method for releasing resources.
-If an activity plays a video with PIP mode support, it should stop the playback in onStop() rather than onPause().
-A new object, PictureInPictureParams introduces for PIP mode, it tells the activity how to behave in PIP mode.
-To move the activity in PIP mode, We can call:
enterPictureInPictureMode(PictureInPictureParams params) method.
5. Security and Privacy (permissions):
Android Oreo has made security one of its primary areas of focus. It emphasizes strongly on user privacy and data security. To make this happen Google has launched Google Play Protect which works as a virus scanner for Android apps. Their team reports that they have scanned over 50 billion apps till date. Like always this version of android also gives more control to the user for the permissions. Now there are few more permissions related to calls and contacts in the checklist. If your app needs these permissions then you will need to upgrade it to allow the user to choose if he wants to allow the usage of his contacts and calling features.
Android 8.0 adds many new permission related to the telephony such as ANSWER_PHONE_CALLS, READ_PHONE_NUMBERS etc. These are the dangerous permissions so we will need to ask for them on runtime in the app. With the help of ANSWER_PHONE_CALLS, we can handle the incoming calls programmatically and READ_PHONE_NUMBERS allows the app to read stored phone numbers in a device.
Of course, the list of features in Android 8.0 does not end here. There are many other features that Google has introduced with Android Oreo. What we have covered here are the ones which will need a development upgrade. Also, here are some key advantages for the user with Android Oreo:
1. Autofill forms are now in the OS. That means that you won’t need to depend on third party password managers anymore. Autofill will allow seamless usage of apps without any worries regarding passwords.
2. Now you can enjoy the zen of machine learning at your fingertips. Android Oreo comes with smart text selection that will identify the best potential app for your copied text. For example, if you select an address then you can directly trigger Maps to find the location.
3. Now, there are new ways to express. Google has added a new set of emojis that has ushered a new wave of change for the messaging experience. They have done away with the old blob emoji which has some users quite upset.
Why Upgrade Your Apps to Android 8.0?
Though, for some app owners it can be a necessity to upgrade their apps like in cases discussed above, it in no way means that if it is not mandatory then you should ignore it. Upgrading your app keeps you competitive in the app markets and ensures that users do not jump from your app to your competitor’s. Once you lose your loyal app users it is very hard to regain that trust. It is always better to take a step forward and lead the way by adapting to the change. New features like picture in picture, notification channels and dots etc are all aiming to provide more control to the user. By ensuring that your app keeps your users on the top priority you will not only keep your present users intact but also earn more users. Thus, it is always best to view app upgradation as a necessity and not an option.
Our developers have all the expertise needed to upgrade your app to the latest version of Android. If you would like help in upgrading your app or would like to discuss this further, feel free to contact us.