Google Makes Android Q Preview Available to Developers, Provides Fresh APIs

Google this week released the first developer preview of Android Q, marking the beginning of a months-long journey that will eventually see the operating system reach phones, tablets, and more. As it does each year, Google jammed the OS upgrade with a batch of new APIs for developers to put to work. 

The tallest tentpole supporting Android Q is security. Google is making a big push to give people more control over their information. For example, Android Q will provide users with more granular control over when apps can obtain location data. More importantly, users will be able to limit app access to location info only when the app is in use, should they wish. Google put together a separate developer guide to help app writers adapt their app to this new level of user control. Google has taken steps to ensure greater transparency so users have more control over their personal data. The OS will let people manage apps' access to the Photos, Videos, or Audio collections via new runtimes. Apps will have to adhere to new guidelines concerning downloads. Documentation on this Scoped Storage is available here

In order to cut down on interruptions, Android Q will prevent apps from launching an Activity while running in the background. Revised high-priority notifications are available in Q so developers can make sure their apps get user attention without overriding current activities. 

Last on the privacy aspect, Google plans to limit access to device identifiers, such as IMEI and serial number. Android Q will also randomize devices' MAC addresses when connected to different WiFi networks. This was optional in Android P, and will be mandatory in Android Q. Google says these security and privacy features are built into the first preview so developers have as much time as possible to adjust their apps. 

Other user-facing features include support for foldables and other new screen styles. Android Q includes changes to onResume and onPause to help apps transition from one screen to another. The new OS makes improvements to the share sheet via the ShortcutInfo API, which Google says lets users jump quickly from one app to another to share content. Developers can publish share targets in the share sheet for specific activities. 

Android Q introduces new and revised connectivity APIs for WiFi, Bluetooth, and cellular connections. Google says they simplify connections and do not require location permission. The new WiFi standard, WPA3 and Enhanced Open, is on board to improve WiFi security. These all help with revised peer-to-peer and internet-sharing functions. For example, apps can request adaptive WiFi in Android Q and enable low-latency mode. 

Phones running Android Q will be better at taking portrait / bokeh shots. Apps can request a Dynamic Depth images that includes a JPEG and XMP metadata for depth-related elements and maps. 

Google says Android Q packs in support for an open source video codec called AV1, which lets media stream at high quality while using less bandwidth. It adds support for Opus, an audio codec that is optimized for speech, and Android Q adds native support for HDR10+ for video. These are apart of the MediaCodecInfo API. A native MIDI API helps C++ apps communicate with MIDI devices through the NDK. 

Google is working on a standard, updateable OpenGL driver for devices built using Vulkan. It's adding experimental support for ANGLE on top of Vulkan. ANGLE is a graphics abstraction layer for high-performance OpenGL compatibility. In other words, better gaming on Android Q devices. 

Android Q updates the Neural Networks API to version 1.2. Google claims it has added 60 new operations to the API as well as optimized performance. This will let a wider array of devices support Artificial Intelligence

Last, Google wants to begin transitioning all Android apps to public APIs. Google believes private APIs lead to a greater risk of crashes and can cause problems for developers in the long run. Moving fowrard, new apps written for Android Q will need to target public APIs whenever possible. Google said it will work with developers on a case-by-case basis to help them make the transition, if needed. 

The Android Q beta is available to all Pixel phones, including the original, second, and third generations of the hardware. Developers need only enroll their device, install the software, and update their SDK. Google says it plans to distribute more beta versions of Android Q as it moves towards an eventual full release. Much more information will be provided at Google I/O in May. 

Be sure to read the next Mobile article: Android App Bundles Updated with New Languages API