Google has done it again, releasing the Developer Preview of its next Android operating system ahead of its annual Google I/O developer’s conference – exciting news for the increasing number of Android users across the globe. Here we will discuss the things about the Android O.
Following Android Alpha and Android Beta, Google has always named its Android OS updates after sweet treats, and in alphabetical order. So far we’ve had Cupcake, Donut, Eclair, Froyo, Gingerbread, Honeycomb, Ice Cream Sandwich, Jelly Bean, KitKat, Lollipop, Marshmallow, and Nougat.
Android O: Name
Android Oreo seems to have been semi-confirmed by a Google exec. While it’s not 100% concrete, and more of nudge-wink sort of nod to the idea, Google’s senior vice president of Android, Chrome OS and Google Play, Hiroshi Lockheimer, tweeted a gif of an Oreo-based cake, which could be taken as him saying “yes, it’s Android Oreo,” if you were super generous about how you interpret this.
What’s new in Android O?
Android O introduces a number of new features and APIs to use in your apps. Here’s are just a few new things for you to start trying in this first Developer Preview:
- Introduces notification channels that allow you to create a user-customizable channel for each type of notification you want to display. The user interface refers to notification channels as notification categories. To learn how to implement notification channels.
- Users can snooze notifications to reappear at a later time. Notifications reappear with the same level of importance they first appeared with. Apps can remove or update a snoozed notification, but updating a snoozed notification does not cause it to reappear.
- You can now set a timeout when creating a notification using
Notification.Builder.setTimeout(). You can use this method to specify a duration after which a notification should be canceled. If required, you can cancel a notification before the specified timeout duration elapses.
Users can save time filling out forms by using autofill in their devices. Android O makes filling forms, such as account and credit card forms, easier with the introduction of the Autofill Framework. The Autofill Framework manages the communication between the app and an autofill service.
Filling out forms is a time-consuming and error-prone task. Users can easily get frustrated with apps that require these type of tasks. The Autofill Framework improves the user experience by providing the following benefits:
- Less time spent in filling fields Autofill saves users from re-typing information.
- Minimize user input errors Typing is prone to errors, especially in mobile devices. Removing the necessity of typing information also removes the errors that come with it.
PIP for handsets and new windowing features:
Android O allows activities to launch in picture-in-picture (PIP) mode. PIP is a special type of multi-window mode mostly used for video playback. PIP mode is already available for Android TV, It makes the feature available on other Android devices.
When an activity is in PIP mode, it is in the paused state, but should continue showing content. For this reason, you should make sure your app does not pause playback in its
onPause() handler. Instead, you should pause video in
onStop(), and resume playback in
onStart(). For more information, seeMulti-Window Lifecycle.
To specify that your activity can use PIP mode, set
android:supportsPictureInPicture to true in the manifest. (Beginning with It, you do not need to set
android:resizeableActivity to true if you are supporting PIP mode, either on Android TV or on other Android devices; you only need to set
android:resizeableActivity if your activity supports other multi-window modes.)
Font resources in XML:
Android O introduces a new feature, Fonts in XML, which lets you use fonts as resources. This means, there is no need to bundle fonts as assets. Fonts are compiled in
R file and are automatically available in the system as a resource. You can then access these fonts with the help of a new resource type,
font also provides a mechanism to retrieve information related to system fonts and provide file descriptors. For more information, about using fonts as resources and retrieving system fonts, for more about fonts see Working with fonts.
Adaptive icons display in a variety of shapes across different device models.
Android O introduces adaptive launcher icons, which can display a variety of shapes across different device models. For example, a launcher icon can display using a circular shape on one OEM device, and display a squircle on another device. Each device OEM provides a mask, which the system then uses to render all icons with the same shape. The new launcher icons are also used in shortcuts, the Settings app, sharing dialogs, and the overview screen.
Android O adds support for Wi-Fi Aware, which is based on the Neighbor Awareness Networking (NAN) specification. On devices with the appropriate Wi-Fi Aware hardware, apps and nearby devices can discover and communicate over Wi-Fi without an Internet access point. We’re working with our hardware partners to bring Wi-Fi Aware technology to devices as soon as possible. For information on how to integrate Wi-Fi Aware into your app, see Wi-Fi Aware.
It provides APIs that allow you to customize the pairing request dialog when trying to pair with companion devices over Bluetooth, BLE, and Wi-Fi. For more information, see Companion Device Pairing.
For more information about using Bluetooth on Android, see the Bluetooth guide. For changes to Bluetooth that are specific to it, see the Bluetooth section of the Android O Behavior Changes page.
Android O provides several APIs to help you manage the
WebView objects that display web content in your app. These APIs, which improve your app’s stability and security, include the following:
- Version API
- Google SafeBrowsing API
- Termination Handle API
- Renderer Importance API
New enterprise features
Android enterprise introduces many new features and APIs for devices running Android O. We’ve made the profile owner and device owner management modes more powerful, productive, and easier to provision than ever before. We’ve also enabled a whole new deployment scenario.
Some notable highlights include the following:
- The ability to use a managed profile on a corporate-owned device.
- An overhauled work profile featuring a user-friendly setup flow that drastically reduces setup time.
- Enterprise management for file-based encryption.
- A delegation of app management APIs.
Building on the work we began in Nougat, Android O puts a big priority on improving a user’s battery life and the device’s interactive performance. To make this possible, android put additional automatic limits on what apps can do in the background, in three main areas: implicit broadcasts, background services, and location updates. These changes will make it easier to create apps that have minimal impact on a user’s device and battery. Background limits represent a significant change in Android, so we want every developer to get familiar with them. Check out the documentation on background execution limits and background location limits for details.
From what we can see so far Android O is shaping up to follow very much in Nougat’s footsteps, completing some of the work started in Nougat and further strengthening the granular nature of control in Android. The first developer preview is typically the one that is most feature-rich, with only a few notable additions in subsequent previews but a lot more subtractions as Google gets a grip on what’s possible in the time remaining and where to prioritize its efforts.