Google launches Android Q Beta 2 with multitasking Bubbles, foldables emulator, and zoomable microphones
Google today launched the second Android Q beta with multitasking Bubbles, a foldables emulator, zoomable microphones, and more. If you’re a developer, this is your second Android Q preview, and you can start testing your apps against this release by downloading it from developer.android.com/preview. The preview includes an updated SDK with system images for the Pixel, Pixel XL, Pixel 2, Pixel 2 XL, Pixel 3, Pixel 3 XL, and the official Android Emulator. If you’re already enrolled in the beta and received the Android Q Beta 1 on your Pixel device, you’ll automatically get the update to Beta 2.
Google launched Android Q Beta 1 in March. It’s moving much faster than in previous Android betas — three weeks between developer previews is unheard of. To help Google keep the betas coming, you can submit feedback, as well as file platform issues, app compatibility issues, and third-party SDK issues.
Beta 1 brought additional privacy and security features, enhancements for foldables, new connectivity APIs, new media codecs and camera capabilities, NNAPI extensions, Vulkan 1.1 support, and faster app startup. Beta 2 builds on those with a few notable additions.
Beta 2 features
For Beta 2, Google has enabled Scoped Storage, which gives users more control over access to shared files, for new app installs. The idea here is to let developers see exactly what is affected by the change. Scoped Storage lets apps use their private sandbox without permission but requires new permissions to access shared collections for photos, videos, and audio (developer guide for key use cases). To test, developers have to enable Scoped Storage using the adb command. If your app has a use case that’s not supported by Scoped Storage, Google asks that you take this survey.
Beta 2 also supports Bubbles, a “new” way for users to multitask and re-engage with apps. If you’ve ever used Facebook Messenger on Android, you know what this is all about. Google now wants to build that functionality right into the platform with Android Q “while helping to make interactions consistent, safeguard user privacy, reduce development time, and drive innovation.” Google says Bubbles help users prioritize information, take action deep within another app while maintaining their current context, and carry an app’s functionality around with them as they move between activities on their device. They are great for messaging, ongoing tasks, and updates like arrival times or phone calls, and can offer quick access to notes, translations, or tasks. Bubbles is built on top of Android’s notification system — you can send a bubble through a notification with BubbleMetadata by calling setBubbleMetadata (sample implementation).
Beta 2 also lets developers build for foldable devices through Android Q enhanced platform support and a new foldable device emulator, available as an Android Virtual device in Android Studio 3.5 via the canary release channel. To set up a runtime environment for your app, configure a foldable emulator as a virtual device (AVD) in Android Studio — the foldable AVD is a reference device that lets you test with standard hardware configurations, behaviors, and states, and will be used by Google’s device manufacturer partners. To ensure compatibility, the AVD meets CTS/GTS requirements and models CDD compliance. It supports runtime configuration changes, multi-resume, and the new resizeableActivity behaviors. You can use the canary release of Android Studio 3.5 to create a foldable virtual device to support either of two hardware configurations: 7.3-inch (4.6-inch folded) and 8-inch (6.6-inch folded) with Beta 2. In each configuration, the emulator gives you on-screen controls to trigger fold/unfold, change orientation, and quick actions.
While Beta 1 significantly improved Android’s share sheet, Beta 2 now lets you offer a preview of the content being shared by providing an EXTRA_TITLE field in the Intent for the title, or by setting the Intent’s ClipData for a thumbnail image. Google has updated the corresponding sample application to help you out.
Next up, Beta 2 gives apps more control over audio capture through a new MicrophoneDirection API. You can use the API to specify a preferred direction of the microphone when taking an audio recording or control zoomable microphones, letting your app choose the recording field dimension using setMicrophoneFieldDimension(float).
Lastly, Android Q Beta 1 introduced restrictions as part of Google’s effort to move apps toward only using public APIs. Beta 2 makes a few minor updates to those lists to minimize impact on apps. The company is promising public alternative APIs “for valid use-cases” before restricting access, so if an interface that you currently use in Android 9 Pie is now restricted, you should request a new public API.
Beta schedule
The goal of the second beta is the same as the first: Let early adopters and developers play with the build early so they can explore new features and APIs for apps, test for compatibility, and give feedback before more details are shared at I/O 2019, scheduled for May 7 to May 9.
Last year, there were five developer previews (four betas). This year, Google is planning six betas in total. Here’s the preview schedule:
- March: Beta 1 (initial release, beta)
- April: Beta 2 (incremental update, beta)
- May: Beta 3 (incremental update, beta)
- June: Beta 4 (final APIs and official SDK, Play publishing, beta)
- Beta 5 (release candidate for testing)
- Beta 6 (release candidate for final testing)
- Q3: Final release to AOSP and ecosystem
Google is asking developers to make their apps compatible with Android Q so that their users can expect a seamless transition when they upgrade. To get started, install your current app from Google Play onto a device or emulator running Beta 2, work through the user flows, and make sure it handles the Android Q behavior changes. If you find issues, fix them in the current app without changing your targeting level (migration guide, privacy checklist). When you’re done, update your app’s targetSdkVersion to ‘Q’.
Source: VentureBeat