Android 11‘s most important additions may be more about privacy than any front-facing flashiness, but the software sure does have its share of significant surface-level improvements. there are many more interesting features added in Android 11, some features enhanced with the existing one.
- A more useful power button menu.
- Dynamic media controls.
- A built-in screen recorder.
- Greater control over conversation notifications.
- Recall cleared notifications with notification history.
- Pin your favorite apps in the share page.
- Schedule dark theme.
- Grant temporary permission to apps
Android 11 includes a new ControlsProviderService API that you can use to expose controls for connected, external devices. These controls appear under Device controls in the Android power menu.
Display Cutout API
Based on the continuous innovation with screens, the new API is been developed for Curved & Waterfall screens. Android 11 provides several APIs to support waterfall displays, displays that wrap around the edge of the device. These displays are treated as a variant of displays with display cutouts.
The existing DisplayCutout.getSafeInset…() methods now return the safe inset to avoid waterfall areas as well as cutouts.
Chat Bubbles API
Bubbles are a way to keep conversations in view and accessible while multi-tasking on their phones. Messaging and chat apps should use this on notifications to enable this in Android 11.
As it all started from Android 10, the features are enhanced now such as opt-in raw file path access for media, updated Documents UI, and batch edit operations in MediaStore.
Android 11 supports deploying and debugging your app wirelessly from your workstation via Android Debug Bridge (ADB).
Android 11 is being more transparent with permissions and for that new features are added as Data Access Auditing. By this feature, end users will better identify & rectify potentially unexpected data access. Another is Dialog Visibility which says, by tapping “Deny” twice for specific permission, it will be considered as “don’t ask again” subsequently. Also, the new One Time Permission contains an option called “Only this time” for temporary one-time permission. Moreover, if the app targets Android 11, you cannot directly request all-the-time access to the background location.
Bio-metric Authentication Strength
Android 11 introduces the BiometricManager.Authenticators interface. Also, the AuthenticationResult API allows you to check whether the user authenticated using bio-metric or device credentials.
Neural Networks API 1.3
Neural Networks API (NNAPI) is designed for running computationally intensive operations for machine learning on Android devices. In Android 11, the operations and controls are expanded and available to developers. In this release, some new operations and execution controls are added to help optimize common use cases:
Quality of Service APIs support priority and timeout for model execution.
Migration & Compatibility
The Android 11 Preview SDK includes changes that are not compatible with some older versions of Android Studio. So, for the best development experience with the Android 11 Preview SDK, It is recommended that you install the latest preview version of Android Studio 4.0 Preview. Though you can compile and test Android 11 apps using Android Studio 3.3 and higher. After all these, you can configure the build and access the features subsequently.
ADB Incremental APK installation
Installing large (2GB+) APKs on a device can take a long time, even if only a small change is made to an app. ADB (Android Debug Bridge) Incremental APK installation accelerates this process by installing enough of the APK to launch the app while streaming the remaining data in the background. adb install will use this feature automatically if it is supported by the device and you have the latest SDK Platform-Tools installed.
GWP-ASan is a native memory allocator feature that helps find use-after-free and heap-buffer-overflow bugs. You can enable this feature globally or for specific subprocesses of your app.
Dependency API and sync fence support
Neural Networks API(NNAPI)1.3 includes support for asynchronous compute with dependencies, allowing greatly reduced overhead when invoking small chained models.
Memory domain input/output
Neural Networks API(NNAPI)1.3 includes support for memory domains as input and output to execution. This removes unnecessary copies of the same data among different system components, improving the runtime performance of Android neural networks. This feature adds a set of new NDK APIs for use with ANeuralNetworksMemoryDesc and ANeuralNetworkMemory objects
Neural Networks API(NNAPI)1.3 includes support for general control flow with the new graph operations ANEURALNETWORKS_IF and ANEURALNETWORKS_WHILE, which accept other models as arguments using the new ANEURALNETWORKS_MODEL operand type
Low-latency decoding in MediaCodec
Android 11 enhances MediaCodec to support low-latency decoding for games and other real-time apps.
New AAudio function AAudioStream_release()
The function AAudioStream_close() releases and closes an audio stream at the same time. This can be dangerous. If another process tries to access the stream after it’s been closed, the process will crash.
Concurrent mic access
Android 11 adds new methods to the AudioRecord, MediaRecorder, and AAudioStream APIs. These methods enable and disable the ability to capture concurrently regardless of the selected use case.
Wi-Fi Suggestion API is expanded
Connectivity management apps can manage their own networks by allowing disconnection requests.
Passpoint networks are integrated into the Suggestion API and can be suggested to the user.
Analytics APIs enable you to get information about the quality of your networks.
NDK image decoder
The NDK ImageDecoder API provides a standard API for Android C/C++ apps to decode images directly. App developers no longer need to use the framework APIs (via JNI) or bundle third-party image-decoding libraries.
App process exit reasons
Android 11 introduces the ActivityManager.getHistoricalProcessExitReasons() method, which reports the reasons for any recent process terminations. Apps can use this method to gather crash diagnostic information, such as whether a process termination is due to ANRs, memory issues, or other reasons. Additionally, you can use the new setProcessStateSummary() method to store custom state information for later analysis.
APK signature scheme v4
Android 11 features add support for APK Signature Scheme v4. This scheme produces a new kind of signature in a separate file (apk-name.apk.idsig) but is otherwise similar to v2 and v3. No changes are made to the APK. This scheme supports ADB incremental APK installation, which speeds up APK install.
Dynamic intent filters
In order to receive intents, an app must declare at compile time which types of data it is able to receive by defining an intent filter in the app manifest. In Android 10 and lower, apps have no way of changing their intent filters at runtime. This is a problem for virtualization apps (such as virtual machines and remote desktops) because they have no way of knowing exactly what software the user will install inside them.
Data sharing with content capture service
Starting in Android 11, your app can share data with the device’s content capture service. This capability makes it easier for a device to deliver in-context intelligence, such as showing the name of a song that’s currently playing in the user’s environment.
Android 11 features introduce new tools for testing and debugging your app against the behavior changes in the latest version of the platform. The main purpose of the compatibility framework is to provide you with control and flexibility as you test your app with a new version of Android. One should toggle “OFF” while changing all the apps and should toggle “ON” while targeting a specific SDK version. There are some restrictions too.