Android 11, the newest version of Android, sets you up to take advantage of a range of new experiences, from foldable devices to stronger protections for your users. Android 11 introduces great new features and APIs for developers. The sections below help you learn about features for your apps and get started with the related APIs. For a detailed list of new, and removed APIs, read the API diff report. For details on new APIs visit the Android API reference – new APIs are highlighted for visibility. Also, to learn about areas where platform changes may affect your apps, be sure to check out android 11 behavior changes for apps that target android R and for all apps, as well as privacy changes.
Android 11 includes a new Control Provider Service API that you can use to expose controls for connected, external devices. These controls appear under Device controls in the Android power menu.
Android 11 updates how media controls are displayed. Media controls appear near quick settings. Sessions from multiple apps are arranged in a swipe able carousel which includes streams playing locally on the phone, remote streams, such as those detected on external devices or cast sessions, and previous, resumable sessions in the order they were last played.
Users can restart previous sessions from the carousel without having to start the app. When playback begins, the user interacts with the media controls in the usual way.
Better support for waterfall displays
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.
Hinge angle sensor and foldable
android 11 makes it possible for running on devices with hinge-based screen configurations to determine the angle of the hinge by providing and a new sensor, and a new SensorEvent that can monitor the hinge angle and provides a measurement in degrees between two integral parts of the device. You can use these raw measurements to perform granular animations as the user manipulates the device.
Android 11 makes a number of improvements to the way conversations are handled. Conversations are real-time, bidirectional communications between two or more people. These conversations are given special prominence, and users have several new options in how to interact with them.
Bubbles are now available to developers to help surface conversations across the system. Bubbles was an experimental feature in Android 10 that was enabled through a developer option; in Android 11, this is no longer necessary.If an app targets Android 11 (API level 30) or higher, its notifications are not presented as bubbles unless they fulfill the new conversation requirements. Specifically, the notification must be associated with a shortcut.
Prior to Android 11, if you wanted a notification to be bubbled, you needed to explicitly specify that the notification was set to always launch in document UI mode. Beginning with Android 11, you no longer need to explicitly make that setting; if the notification is bubbled, the platform automatically sets the notification to always launch in document UI mode.
5G visual indicators
On Android 11 and higher, apps with android.Manifest.permission.READ.PHONE_STATE permission can request telephony display information updates. This includes radio access technology information for marketing and branding purposes.
Various 5G icon display solutions for different carriers are provided by this new API. The supported technologies include the following:
- LTE with carrier aggregation (LTE+)
- Advanced pro LTE (5Ge)
- NR (5G)
- NR on millimeter-wave cellular bands (5G+ and 5G UW)
Android 11 introduces a large number of changes and restrictions to enhance user privacy.Android 11 builds upon earlier versions of Android, adding features and updates to keep users secure and increase transparency and control. All developers should review the privacy features and test their apps. Impacts can vary based on each app’s core functionality, targeting, and other factors.
Get started with privacy updates
Review the privacy features: Assess your app. Look for how your app stores files and user data, requests permissions, request location. In addition, look for ways that your app interacts with other apps, consider performing an audit of the data that your app accesses, and determine whether your app needs to update how it uses foreground services.
Test your app on Android 11: Run your app on Android 11. Use app compatibility tools to evaluate how individual system changes affect your app.
Update your app: Targeting Android 11 if possible, test with users and publish an update.
Biometric authentication updates
To help you control the level of security for your app’s data, Android 11 provides several improvements to biometric authentication. These changes also appear in the Jetpack Biometric library.
Android 11 introduces BiometricManager. Authenticators interface, which you can use to declare the types of authentication that your app supports.
Determine which authentication type was used
After the user authenticates, you can check whether the user authenticated using a device credential or a biometric credential.
Additional support for auth-per-use keys
Android 11 provides more support for authentication using auth-per-use-keys.
In some situations, such as those that involve machine learning or media playback, your app might want to use the same large dataset as another app. In previous versions of Android, your app and another app would each need to download a separate copy of the same dataset.
To help reduce data redundancy, both over the network and on disk, Android 11 allows these large datasets to be cached on the device using shared data blobs.
PERFORMANCE AND QUALITY
Android 11 supports deploying and debugging your app wirelessly from your workstation via Android Debug Bridge (adb). For example, you can deploy your debuggable app to multiple remote devices without physically connecting your device via USB and contending with common USB connection issues, such as driver installation.
To use wireless debugging, you need to pair your device to your workstation using a pairing code. Your workstation and device must be connected to the same wireless network. To connect to your device, follow these steps:
- On your workstation, update to the latest version of the SDK Platform-tools.
- On the device, enable developer options.
- Enable the Wireless debugging option.
- On the dialog that asks Allow wireless debugging on this network?, click Allow.
- Select Pair device with pairing code. Take note of the pairing code, IP address, and port number displayed on the device.
- On your workstation, open a terminal and navigate to android_sdk/platform-tools.
- Run adb pair ipaddr:port. Use the IP address and port number from step 5.
- When prompted, enter the pairing code that you received in step 5. A message should indicate that your device has been successfully paired.
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 latestSDK Platform-tools installed. If it is not supported, the default installation method is silently used.
Use the following adb command to use the feature. If the device does not support incremental installation, the command fails and prints a verbose explanation.Before running an ADB incremental APK install, you must sign your APK and create an APK Signature Scheme v4 file. The v4 signature file must be placed next to the APK for this feature to work.
Error detecting using the native memory allocator
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 sub processes of your app.
Neural Networks API 1.3
Android 11 expands and improves the Neural Networks API (NNAPI).The Android Neural Networks API (NNAPI) is an Android C API designed for running computationally intensive operations for machine learning on Android devices. NNAPI is designed to provide a base layer of functionality for higher-level machine learning frameworks, such as TensorFlow Liteand Caffe2, that build and train neural networks. the API is available on all Android devices running Android 8.1 (API level 27)or higher.
NNAPI supports inferencing by applying data from Android devices to previously trained, developer-defined models. Examples of inferencing include classifying images, predicting user behavior, and selecting appropriate responses to a search query.
On-device inferencing has many benefits:
- Latency: You don’t need to send a request over a network connection and wait for a response. For example, this can be critical for video applications that process successive frames coming from a camera.
- Availability: The application runs even when outside of network coverage.
- Speed: New hardware that is specific to neural network processing provides significantly faster computation than a general-purpose CPU, alone.
- Privacy: The data does not leave the Android device.
- Cost: No server farm is needed when all the computations are performed on the Android device.
There are also trade-offs that a developer should keep in mind:
- System utilization: Evaluating neural networks involves a lot of computation, which could increase battery power usage. You should consider monitoring the battery health if this is a concern for your app, especially for long-running computations.
- Application size: Pay attention to the size of your models. Models may take up multiple megabytes of space. If bundling large models in your APK would unduly impact your users, you may want to consider downloading the models after app installation, using smaller models, or running your computations in the cloud. NNAPI does not provide functionality for running models in the cloud.
NNAPI 1.3 introduced a new operand type, TENSOR_QUANT8_ASYMM_SIGNED, to support TensorFlow Lite’s new quantization scheme.
New ML controls
NNAPI 1.3 introduces new controls to help machine learning run smoothly:
QoS API: The new Quality of Service API includes support for prioritization and task deadlines in NNAPI.
Memory domain input/output: 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 Memory domain input/output: 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.
Dependency API and sync fence support: NNAPI 1.3 includes support for asynchronous compute with dependencies, allowing greatly reduced overhead when invoking small chained models.
NDK Thermal API
When devices get too warm, they may throttle the CPU and/or GPU, and this can affect apps in unexpected ways. Apps or games that incorporate complex graphics, heavy computation, or sustained network activity are more likely to encounter issues.
Use the NDK Thermal API in Android 11 to monitor temperature changes on the device, and then take action to maintain lower power usage and cooler device temperature. This API is similar to the Java Thermal API; you can use it to receive notifications for any thermal status change or to poll the current status directly.
Text and input
Improved IME transitions
Android 11 introduces new APIs to improve transitions for input method editors (IMEs), such as on-screen keyboards. These APIs make it easier to adjust your app’s content in synchronization with the IME’s appearance and disappearance, and with other elements like the status and navigation bars.
Updates to the ICU libraries
Android 11 updates the android. ICU package to use version 66 of the ICU library, compared to version 63 in Android 10. The new library version includes updated CLDR locale data and a number of enhancements to internationalization support in Android.
Notable changes in the new library versions include the following:
- Many formatting APIs now support a new return object type that extends FormattedValue.
- The LocaleMatcher API is enhanced with a builder class, support for the java.util.Locale type, and a result class featuring additional data about a match.
- Unicode 13 is now supported.
Allocating MediaCodec buffers
Android 11 includes a new MediaCodec APIs that gives apps more control when allocating input and output buffers. This lets your app manage memory more efficiently.
Low-latency decoding in MediaCodec
Android 11 enhances MediaCodec to support low-latency decoding for games and other real-time apps. You can check whether a codec supports low-latency decoding.
MediaParser is a new low level API for media extraction. It is more flexible than MediaExtractor and provides additional control over media extraction functionality.
Audio capture from a USB device
When an application without RECORD_AUDIO permission uses UsbManager to request direct access to a USB audio device with audio capture capability (such as a USB headset), a new warning message appears asking the user to confirm permission to use the device. The system ignores any “always use” option, so the user must acknowledge the warning and grant permission every time an app requests access.
To avoid this behavior, your app should request the RECORD_AUDIO permission.
Concurrent mic access
Android 11 adds new methods to the Audio Record, Media Recorder, and Audio Stream APIs. These methods enable and disable the ability to capture concurrently regardless of the selected use case.
Android 11 implements new behavior for apps that use the cast and media router APIs.
In addition to accessing casting options from within an app the switching options also appear in the system media player. This helps to give the user a seamless journey when moving between devices as they change their viewing and listening contexts, such as watching video in the kitchen versus on a phone, or listening to audio in the home or car.
Wi-fi Passpoint enhancements
Passpoint enables apps to automatically and silently perform authentication and connect to secure Wi-Fi hotspots. Apps that target API level 30 and higher can use the following additional capabilities of Passpoint.
Expiration date enforcement and notification
Enforcing expiration dates on profiles allows the framework to avoid auto-connection to access points with expired credentials, which are destined to fail. This prevents airtime usage, and saves battery and backed bandwidth. It displays a notification to the user when their profile is in range and has expired.
Allow configuration of a named AAA domain separately from an Access Network Query Protocol (ANQP) fully qualified domain name (FQDN), using an Extension/Android node in Per Provider Subscription (PPS) Management Object (MO).
Self-signed private CAs
For Passpoint R1 Profiles, Android accepts private self-signed CAs for connection authentication.
Allow multiple profiles with identical FQDN
Allow to install multiple Passpoint profiles with identical FQDN. The FQDN is not used as a key for profiles. Existing Passpoint APIs that require FQDN, such as remove, apply the request to all matching profiles with the same FQDN.
Allow to install profiles without a Root CA certificate
Profiles without a Root CA certificate are allowed. In this case, the system verifies the AAA server certificates against the public Root CA certificates installed in the trust store.
Improved Home and Roaming provider matching
The system matches Home or Roaming networks regardless of the advertised authentication method. Additionally, added support for Home matching for Other Home Partners and Home Oi List lists.
Wi-Fi suggestion API is expanded
Android 11 expands the Wi-Fi suggestion API to increase your app’s network management capabilities, including the following:
- 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.
Call Screening Service updates
Starting in Android 11, a Call Screening Service can request information about the STIR/SHAKEN verification status for incoming calls. This information is provided as part of the call details for incoming calls.
If a Call Screening Service holds the READ_CONTACTS permission, the app is notified when there are incoming calls from, or outgoing calls to, a number in the user’s contacts.
Open Mobile API updates
Beginning with Android 11, Open Mobile API (OMAPI) has additional functionality:
- Parse rules for carrier privileges.
- Customize embedded Secure Element (eSE) access or provision an eSE using one or more of the following:
- System privileged permission
- Configurable Access Rule Application Master (ARA-M) application identifiers (AIDs)
- System API to reset OMAPI reader
- Provide readers a clear indicator for applications to filter device capability.
Apps that target API level 30 and higher or that are running on devices launched on API level 29 and higher can apply IKEv2/IPsec to VPNs for both user-configured and app-based VPNs.
The VPNs run native to the operating system, simplifying the code required to establish IKEv2/IPset VPN connections in an app.
Allow multiple installed Passpoint configurations with the same FQDN
This functionality is helpful when a carrier deploys more than one combination of Mobile Country Code (MCC) and Mobile Network Code (MNC) on their network, but has only a single FQDN. On Android 11 and higher, it is possible to install more than one profile with the same FQDN that will match the network as the Home provider when the user installs a SIM with either MCC or MNC.
NDK image decoder
The NDK image decoder 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.
Frame rate API
Android 11 provides an API that enables apps to inform the system of their intended frame rate, to reduce judder on devices that support multiple refresh rates.
Requesting and checking for low latency support
Certain displays can perform graphics post-processing, such as some external displays and TVs. This post-processing improves the graphics but can increase latency. Newer displays which support HDMI 2.1 have an auto low latency mode (ALLM, also known as game mode), which minimizes latency by switching off this post-processing.
A window can request that auto low latency mode be used, if it is available. ALLM is particularly useful for applications like games and videoconferencing, where low latency is more important than having the best possible graphics.
IMAGES AND CAMERA
Mute notification sounds and vibration during active capture
Beginning with Android 11, when actively using the camera, your app can mute only vibrations, both sounds and vibrations.
Expanded camera support in Android emulator
The Android Emulator simulates Android devices on your computer so that you can test your application on a variety of devices and Android API levels without needing to have each physical device.
The emulator provides almost all of the capabilities of a real Android device. You can simulate incoming phone calls and text messages, specify the location of the device, simulate different network speeds, simulate rotation and other hardware sensors, access the Google Play Store, and much more.
Testing your app on the emulator is in some ways faster and easier than doing so on a physical device. For example, you can transfer data faster to the emulator than to a device connected over USB.
The emulator comes with predefined configurations for various Android phone, tablet, Wear OS, and Android TV devices.
Updates for accessibility service developers
If you create a custom accessibility service, you can use the following features in Android 11:
- The user-facing explanation of an accessibility service now allows for HTML and images in addition to plain text. This flexibility makes it easier to explain to end-users what your service does and how it can help them.
- To work with a description of a UI element’s state that’s more semantically meaningful than contentDescription.
- To request that touch events bypass the system’s touch explorer. Similarly, to request that gestures bypass the system’s gesture detector.
- You can request IME actions, such as “enter” and “next”, as well as screenshots of windows that don’t enable the FLAG_SECURE flag.
App Process exit reasons
Android 11 introduces the 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 method to store custom state information for later analysis.
This method returns instances of the Application Exit Info class, which contains information related to an app process’s death. By calling on an instance of this class, you can determine why your app’s process was killed. For example, a return value of REASON_CRASH indicates that an unhandled exception occurred in your app. If your app needs to ensure uniqueness for exit events, it can maintain an app-specific identifier, such as a hash value based on the timestamp from the method.
Android 11 introduces a new Api that allows apps to dynamically extend how resources are searched and loaded. The new API classes Resources Loader and Resources Provider are primarily responsible for providing the new functionality. Together, they provide the ability to supply additional resources and assets,or modify the values of existing resources and assets.
Resources Loader objects are containers that supply Resources Provider objects to an app’s Resource instance. In turn, Resources Provider objects provide methods to load resource data from APKs and resource tables.
One primary use case for this API is custom asset loading. You can use this to create a Resources Provider that redirects the resolution of file-based resources and assets, causing it to search a specific directory rather than the application APK. You can access these assets through the open family of methods from the Asset Manager API class, just like with assets bundled in the APK.
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 filters 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.
Android 11 introduces MIME groups, a new manifest element which allows an app to declare a dynamic set of MIME types in an intent filter and modify it programmatically at runtime.
Auto fill enhancements
Android 11 introduces improvements for auto-fill services.
Hint identifiers in Assist Structure. View Node
It is often useful for auto-fill services to compute a signature hash for a view based on the view’s properties. The view hint is a particularly good property to include when computing a signature hash, but the hint string might change with the phone’s locale. To solve this problem, Android 11 expands Assist structure. View Node with a new method, which returns the resource identifier for a view’s hint text. This method provides a locale-independent value that you can use to compute signature hashes.
Datasets shown events
To help auto-fill services improve their suggestions, Android 11 provides a way to identify cases where an auto-fill service presented datasets but the user did not select any of them. In Android 11, Fill Event History reports a new event type. Fill Event History logs an event of this type whenever the auto-fill service presents one or more datasets to the user. Auto-fill services can use these events in conjunction with the existing event to determine whether the user selected any of the provided auto-fill options.
Keyboards and other IMEs can now display auto-fill suggestions inline, in a suggestion strip or similar interface, instead of in a drop-down menu. To protect sensitive information like passwords and credit-card numbers, the suggestions are displayed to the user but are not known to the IME until the user selects one. For information on how IMEs and password managers can support this feature.
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.
To make data from your app available to the content capture service. If the system accepts the data-sharing request, your app receives a write-only file descriptor to share with the content capture service.
WhatsApp End-to-end Encryption rolled out for backups
WhatsApp recently made an announcement related to the end-to-end encryption to the cloud backups on both Android and iOS. As you may be aware like WhatsApp itself has been end-to-end encrypted by default, and now if you chose to backup your chats history to Google Drive (Android) or iCloud (iOS), those data is also encrypted. Now, you can enable end-to-end encryption for your backups. It’s an announcement from WhatsApp, and it won’t be on by default option but the user has to choose to enable it by going to Settings > Chats > Chat Backup > End-to-end Encrypted Backup.
Apple Unleashed event today at 10.30 PM IST
After the release of the iPhone 13 series and a new smartwatch, Apple is ready to host another launch event today. Users can expect to see the launch of new Macbooks running on Apple’s in-house M1 chipsets on the Apple ‘Unleashed’ event. Apple fans eagerly waiting for the new MacBook Models and a new mini version of the same. Also, we can expect a new or upgraded version of AirPods in the event. The event will begin at 10:30 PM IST today and we can watch the event on the Apple website and on the YouTube channel. If you have an Apple TV, you can open the TV app and look for the ‘Apple Special Event’ section. It lets you stream today’s Apple unleashed event and rewatch old ones if you are interested.
Oppo F19s Launched, Specifications
Oppo recently launched Oppo F19s mobile on 27th September 2021. This one also has a 6.43-inch touchscreen display. This display is equipped with a resolution of 1,080×2,400 pixels at a pixel density of 409 pixels per inch (PPI) and an aspect ratio of 20:9. F19s comes with 6GB of RAM and packs 128GB of inbuilt storage that can be expanded via a microSD card (up to 256GB). The Oppo F19s runs Android 11 and is powered by a 5,000mAh battery.
Also, the Oppo F19s supports proprietary fast charging. Dimensions of the Oppo F19s measures 160.30 x 73.80 x 7.95mm (height x width x thickness) and weighs 175.00 grams.
On the camera department, the Oppo F19s on the rear packed with a triple camera (has autofocus) setup featuring a 48-megapixel primary camera with an f/1.7 aperture; a 2-megapixel camera with an f/2.4 aperture, and a 2-megapixel camera with an f/2.4 aperture. On the front a single camera (has autofocus) setup for selfies, featuring a 16-megapixel sensor with an f/2.4 aperture. The Oppo F19s runs on ColorOS 11.1 is based on Android 11. This phone is available in Glowing Black and Glowing Gold colors. On the connectivity section, the Oppo F19s is a dual-SIM (GSM and GSM) mobile that accepts two Nano-SIM cards. Connectivity options on the Oppo F19s include Wi-Fi, GPS, USB OTG, USB Type-C, 3G, and 4G (with support for Band 40 used by some LTE networks in India). Sensors on the phone include an accelerometer, ambient light sensor, compass/ magnetometer, gyroscope, proximity sensor, and in-display fingerprint sensor.
Connectivity options on the Oppo F19s include Wi-Fi, GPS, USB OTG, USB Type-C, 3G, and 4G (with support for Band 40 used by some LTE networks in India). Sensors on the phone include an accelerometer, ambient light sensor, compass/ magnetometer, gyroscope, proximity sensor, and in-display fingerprint sensor. Oppo F19s price in India starts at Rs. 19,990. The Oppo F19s can be ordered from Oppo’s official store.
- WhatsApp End-to-end Encryption rolled out for backups October 18, 2021
- Apple Unleashed event today at 10.30 PM IST October 18, 2021
- Oppo F19s Launched, Specifications September 28, 2021
- The Malayalam Movie ‘Home’ Take Aways September 1, 2021
- Prepaid Plans costs below 200, from Reliance Jio, Airtel and Vi August 17, 2021
On the go
WhatsApp End-to-end Encryption rolled out for backups
WhatsApp recently made an announcement related to the end-to-end encryption to the cloud backups on both Android and iOS. As...
The Malayalam Movie ‘Home’ Take Aways
Prepaid Plans costs below 200, from Reliance Jio, Airtel and Vi
Zee5 server crashes due to heavy traffic after release of Salman Khan’s ‘Radhe’
Oppo and Vivo commits 3 years of software support for its X Series phones
OnePlus 9 series, launch date and specifications
Budget Smartphone selection for 2021 January
Technology1 year ago
Google Pixel 4a Vs iPhone SE Comparison
Inspirational1 year ago
Donkey In The Well -True Inspirational Story
Technology1 year ago
Apple iOS 14 Beta 3 included features
Technology1 year ago
Realme 7 and Relame 7 Pro series Launched – Highlights
Technology1 year ago
Boat Airdopes 131 True Wireless Earphones
Technology11 months ago
Apple iPhone 12 Vs iPhone 12 Mini: What’s Different?
Technology1 year ago
WhatsApp animated stickers are ready to download: steps to download
Technology11 months ago
Realme 7 5G Smartphone launched; Features