Explore Android O: New Features, APIs, and Development Tips
This article provides a comprehensive overview of Android O's major updates—including Fluid Experiences like notification channels, picture‑in‑picture, adaptive icons, autofill, and media enhancements—along with behavior and security changes, new APIs, and practical code examples for developers.
Android O New Features Overview
Android O focuses on two main goals announced at Google I/O: Fluid Experiences and Vitals . Fluid Experiences introduce four key features—Notification Dots, Picture‑in‑Picture, Autofill Framework, and Smart Text Selection—while Vitals improve battery life, security, startup time, and stability.
Notification Changes
Android O redesigns notifications with notification channels , allowing users to manage groups of notifications uniformly. Channels are created programmatically and cannot be altered after submission, giving users control over priority, badge display, and other settings. The system also adds notification dots on app icons and a notification sleep mode with timeout and cancellation options.
Picture‑in‑Picture Mode
PIP, previously limited to Android TV, is now available on all devices. When an activity enters PIP, onPause is called, so media should be paused in onStop. Enabling PIP requires activating the System UI Tuner, navigating to Settings > System > System UI Tuner > Navigation bar, and configuring the extra button to launch Activity.enterPictureInPictureMode(). The manifest must set android:supportsPictureInPicture="true".
Adaptive Icons
Android O supports adaptive icons composed of foreground and background layers (108 × 108 dp). The system masks the icon to match device shape, providing a consistent visual style across apps.
Autofill Framework
The new Autofill Framework lets the system fill login, address, and credit‑card forms. Users enable it via Settings > Apps & Notifications > Default apps > Autofill app.
XML Fonts and Downloadable Fonts
Developers can place TTF files in a font resource folder and reference them via an XML font family. Android O and Support Library 26 also allow apps to request fonts from other apps or download them at runtime.
<?xml version="1.0" encoding="utf-8"?>
<font-family xmlns:android="http://schemas.android.com/apk/res/android">
<font android:fontStyle="normal" android:fontWeight="400" android:font="@font/lobster_regular" />
<font android:fontStyle="italic" android:fontWeight="400" android:font="@font/lobster_italic" />
</font-family>Pinned Shortcuts
Pinned shortcuts, introduced in 7.1.1, can be added programmatically in Android O using the new API. Long‑pressing an app icon shows a shortcut menu; dragging a shortcut creates a standalone icon.
TextView Auto‑sizing
TextView now supports android:autoSizeTextType="uniform" or the programmatic call setAutoSizeTextTypeWithDefaults(), allowing the text size to scale automatically based on view dimensions.
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:autoSizeTextType="uniform" />Media Enhancements
New classes such as VolumeShaper and AudioFocusRequest improve audio handling. Media components now expose getMetrics() methods, and MediaRecorder supports MPEG2‑TS streaming. LDAC Bluetooth audio codec (up to 990 kbps) is available on Sony devices.
Other Features
Support for wide‑color gamut and larger screen aspect ratios.
Multi‑display support.
EmojiCompat for newer emojis on older devices.
Smart Text Selection for quick actions on copied data.
Behavior Changes in Android O
Background Execution Limits
When an app is cached (no foreground activity or service), the system revokes wake locks and restricts background services. Implicit broadcast receivers are largely disabled for target API 26+.
Security
SSLv3 is removed.
WebView runs in a separate process.
HttpsURLConnection no longer falls back to older TLS versions.
SECCOMP filters restrict system calls.
Network and HTTP(S) Changes
OPTIONS requests now include Content‑Length: 0, URL handling is stricter, and proxy selector behavior has changed.
Permissions
Permission granting is now limited to explicitly requested permissions; granting one permission in a group no longer auto‑grants the others.
Media Changes
AudioTrack may use deep buffers.
Audio stream types are now only for volume control.
Active media streams are muted during phone calls.
AudioAttributes replace older stream‑type APIs.
Native Libraries
Writable and executable segments are now mutually exclusive; libraries containing both will be rejected.
Other
ContentProvider pagination and refresh methods.
JobScheduler improvements.
AbstractCollection methods now consistently throw NullPointerException.
Locale and internationalization updates.
Bluetooth ScanRecord byte‑length changes.
Input and navigation behavior updates.
API Changes in Android O
New WebView APIs
Developers can query the current WebView version and enable Safe Browsing via manifest metadata.
PackageInfo webViewPackageInfo = WebView.getCurrentWebViewPackage();
Log.d("MY_APP_TAG", "WebView version: " + webViewPackageInfo.versionName); <manifest>
<meta-data android:name="android.webkit.WebView.EnableSafeBrowsing"
android:value="true" />
...
</manifest>findViewById Generic Return Type
Now returns <T extends View>, eliminating the need for explicit casts.
Unified Margins and Padding
New XML attributes such as layout_marginVertical, layout_marginHorizontal, paddingVertical, and paddingHorizontal simplify margin and padding definitions.
AnimationSet Enhancements
AnimationSet now supports seeking to a specific point and reverse playback, reducing the need for duplicate animations.
Alert Windows
Legacy window types (TYPE_PHONE, TYPE_PRIORITY_PHONE, etc.) are deprecated. Apps must use TYPE_APPLICATION_OVERLAY, which appears below system UI elements and can be managed by the user.
Tencent TDS Service
TDS Service offers client and web front‑end developers and operators an intelligent low‑code platform, cross‑platform development framework, universal release platform, runtime container engine, monitoring and analysis platform, and a security‑privacy compliance suite.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
