Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Android Q Beta Overview

Android Q Beta Overview

Ben Wicks

April 09, 2019
Tweet

More Decks by Ben Wicks

Other Decks in Programming

Transcript

  1. Android Q • Stronger protections for user privacy • New

    ways to engage users • Extended support for foldables • Vulkan extensions • And more...
  2. Scoped Storage To give users more control over their files

    and to limit file clutter, Android Q changes how apps can access files on the device's external storage.
  3. Device Location New user option to allow access to device

    location only while your app is in the foreground.
  4. Security enhancements - Improved Biometric Auth Dialogs - Run embedded

    DEX code directly from APK - TLS 1.3 - Public Conscrypt API
  5. Connectivity features - Wi-Fi network connection API - Wi-Fi network

    suggestion API - Improvements to Wi-Fi high-performance & low-latency modes - Specialized lookups in DNS resolver - Wi-Fi Easy Connect - Wi-Fi Direct connection API - Bluetooth LE Connection Oriented Channels (CoC)
  6. More - Media and graphics - Accessibility services API -

    Autofill improvements - UI and system controls - Settings panels - Sharing improvements
  7. Even More - Kotlin - Nullability annotations for libcore APIs

    - NDK - Runtime - Testing and debugging
  8. Bubbles A new way for users to multitask & re-engage

    with your apps https://developer.android.com/preview/features/bubbles
  9. Behavior changes: all apps The following behavior changes apply to

    all apps when they run on Android Q, regardless of 'targetSdkVersion'
  10. Warnings for apps targeting older Android versions The platform will

    warn users the first time they run any app that targets a platform version lower than Android 6.0 (API level 23). If the app requires the user to grant permissions, the user is also given an opportunity to adjust the app's permissions before the app is allowed to run for the first time.
  11. Google Play requirements for 2019 In order to provide users

    with the best Android experience possible, the Google Play Console will continue to require that apps target a recent API level: - August 2019: New apps are required to target API level 28 (Android 9) or higher. - November 2019: Updated apps are required to target API level 28 or higher.
  12. Behavior changes: apps targeting Q The following behavior changes apply

    exclusively to apps that are targeting Android Q or higher. If your app sets targetSdkVersion to "android-Q" or higher, you should modify your app to support these behaviors properly, where applicable.
  13. Performance & Security - Updates to non-SDK interface restrictions -

    Shared memory - Android runtime only accepts system-generated OAT files - Enforcing AOT correctness in ART - Permissions changes for fullscreen intents
  14. Support for foldables Google says that they have changed onResume()

    onPause(), and android:resizeableActivity, but they did not seem to document what changed. ¯\_(ツ)_/¯ At least on the onResume()/onPause()stuff, prior reports indicate that multi-window environments — including foldables — will now leave apps in the resumed state even if they no longer have the input focus. There appears to be a new onTopResumedActivityChanged() activity callback to find out if this activity is now the “top resumed activity”, which I am guessing means “the activity with the input focus”.