Category Page

Android 14 Behavior Changes for Apps: What Developers Need to Know

As Android continues to evolve, new versions bring significant changes that affect how apps function. Android 14 introduces several behavior updates that developers must address to ensure app compatibility and maintain seamless user experiences. From security enhancements to accessibility improvements, these updates refine the platform’s efficiency and privacy while promoting better performance. Let’s explore the most important changes and how they impact app development. 

User Experience Enhancements

Foreground Notifications Can Be Dismissed

Starting with Android 14, users can dismiss certain foreground notifications that were previously non-dismissible. This affects notifications that use Notification.FLAG_ONGOING_EVENT, except for specific cases like media playback, active calls, or device policy controller notifications. Developers should test their apps to ensure important notifications remain accessible while allowing unnecessary ones to be dismissed. This change grants users more control over their notifications, preventing clutter and improving usability. 

Accessibility Improvements

Font Scaling Up to 200% 

 

Android 14 aligns with Web Content Accessibility Guidelines (WCAG) by allowing users to scale fonts up to 200%. This is particularly useful for individuals with visual impairments, as it provides greater readability and customization of text size. Developers should verify their app’s UI responsiveness to large text sizes, ensuring that text elements do not overlap or get cut off, and that overall usability is maintained across different screen sizes and orientations. 

Security Enhancements 

Minimum Target API Level Requirement 

To improve security and reduce vulnerabilities, Android 14 enforces a minimum targetSdkVersion of 23 for all new app installations. This means older, outdated apps that do not meet modern security standards can no longer be installed on new devices. Developers must ensure their apps comply with newer security frameworks and best practices, such as using secure storage, enforcing modern encryption techniques, and handling user data responsibly. 

Redaction of Media Owner Package Name

In Android 14, the OWNER_PACKAGE_NAME field in the media store is now redacted unless the querying app has explicit permissions (QUERY_ALL_PACKAGES) or the storing app’s package name is always visible. This update enhances user privacy by limiting access to metadata about media files. Apps that rely on accessing media ownership information will need to request appropriate permissions or adapt their workflows to accommodate this restriction. 

Core Functionality Changes

Foreground Service Type Requirement 

Apps targeting Android 14 must specify at least one foreground service type when starting a foreground service. This prevents apps from misusing foreground services, ensuring they are only used for necessary and well-defined purposes like media playback, location tracking, or health monitoring. Developers should update their app manifest and logic accordingly to comply with this requirement and avoid unexpected app terminations. 

Stricter Bluetooth Permissions

Android 14 now strictly enforces the BLUETOOTH_CONNECT permission when calling BluetoothAdapter.getProfileConnectionState(). This change prevents unauthorized access to Bluetooth connection states, enhancing user security and privacy. Developers should ensure that their apps request and handle Bluetooth permissions correctly, prompting users for approval when necessary and explaining why the permission is required. 

Open Mobile API (OMAPI) Enhancements

1. Carrier Privilege Rules Parsing 

 

Android 14 enhances OMAPI’s ability to parse and enforce carrier privileges. This ensures that only authorized apps can access certain network-based services, benefiting apps that deal with mobile payments, SIM-based authentication, and telecom services. Developers working on applications that interact with carrier networks should update their logic to incorporate these privileges seamlessly. 

 

2. Embedded Secure Element (eSE) Access Customization 

Developers now have more control over how apps interact with embedded secure elements (eSEs), including system-privileged permissions and configurable Application Identifier (AID) rules. These improvements provide more flexibility for secure transactions, identity verification, and device authentication. By leveraging these changes, app developers can create robust security measures for mobile wallets, enterprise authentication, and other security-sensitive applications. 

 

3. Device Capability Filtering Indicators 

 

Android 14 introduces better filtering mechanisms for detecting device capabilities related to secure elements. This helps apps determine whether a device supports necessary hardware, reducing crashes or compatibility issues. Apps that rely on specific hardware security features can now more accurately tailor their functionality based on device compatibility, offering a more streamlined user experience. 

How These Changes Benefit Developers and Users

    • Improved Security: Stricter permissions, better API enforcement, and data redaction make Android 14 a more secure platform for both developers and users. This ensures that sensitive data is protected and that security vulnerabilities are minimized. 
    • Better User Experience: Enhanced accessibility features and notification controls improve usability and engagement, making Android 14 a more user-friendly experience for all. 
    • Greater Compatibility: The new API-level requirements and capability filtering ensure apps work optimally across a wide range of Android devices, reducing inconsistencies and improving overall app stability. 

Preparing Your App for Android 14

    • Test UI Scaling: Ensure your app remains functional and visually appealing when fonts are scaled up to 200%. Use responsive layouts and dynamic text sizing techniques to maintain readability. 
    • Check Foreground Notification Handling: Review notification behaviors to confirm essential alerts remain non-dismissible while allowing users to manage less critical notifications. 
    • Update Permissions: Verify and declare required permissions, particularly for Bluetooth and media storage access. Ensure proper handling of permission requests to avoid unnecessary disruptions to user workflows. 
    • Adopt Secure API Practices: Utilize the latest OMAPI improvements for secure transactions and data handling. Ensure compliance with new security requirements to protect user data and app integrity. 

Conclusion

Android 14 brings numerous behavior changes designed to enhance security, accessibility, and app compatibility. Developers should proactively update their apps to align with these modifications, ensuring a seamless experience for users while leveraging the platform’s latest advancements. Staying informed about Android updates and testing apps thoroughly will be key to maintaining high performance and compliance with evolving platform standards. By adapting to these changes early, developers can ensure their apps remain secure, efficient, and user-friendly in the ever-evolving Android ecosystem. 

Google has announced Android 11 roll out for select Pixel phones, as well as flagship smartphone models from Xiaomi, Oppo, OnePlus, and Realme. The manufacturers are releasing final beta ROMs based on Android 11 for their individual UIs. Google informed that the update brings changes to improve multitasking, and give users more control over their privacy with one-time app permissions. It also brings built-in screen recording to Android. The new Android 11 comes with many changes but the developers and QA needs to make sure that their app is compatible with the new Android version.

The most effective way to test the compatibility of apps with the latest Android is by testing them on pCloudy devices that have been updated to Android 11. Currently we have Google Pixel devices that are updated to the latest Android version. The new Android OS comes with changes in conversation notification, chat bubbles, media controls, smart device controls, etc. Let’s dive deeper into the updates to understand them better.
android 11 device
Screen recorder

There are plenty of apps on the Google Play Store that will record your phone’s screen. Android 11 might seem a bit late to the party, but it’s still exciting as there is one less app you’ll need to download. The screen recorder function lives in the Quick Settings tiles. You tap the Screen Record feature which gives you a few options before you start recording. For example, you can choose whether or not your screen-taps should also be recorded and whether the phone should capture audio, too. The whole thing is very simplistic, but it gets the job done.

Chat bubbles

Chat bubbles were planned for Android 10 but they faded into the background when the stable version of the OS launched. Now chat bubbles are here in Android 11 and taking centre stage. If you’ve ever used Facebook Messenger on Android, you already know how chat bubbles work. With Messenger, a “chat head” appears on your phone that overlays on top of pretty much every other app. A quick tap of the icon launches the chat and then you can minimize the chat back to an icon. You can remove the chat head until the next conversation starts. This is exactly how the system-wide bubble feature works, with the only major difference being that it can work for any chat app, not just Messenger or other apps that have a similar design.

Dark Theme Scheduling

Google finally introduced a native dark mode to Android 10 last year. However, it was fairly simplistic: it was either on or off. Meanwhile, Android skins from other manufacturers allow users to control when and why dark mode should be activated. With Android 11, users can now schedule the dark theme using one of two different metrics. Users can schedule a dark theme to turn on or off when the sun sets or rises. Users can also set up a custom schedule for dark mode activation if you wish.

Wireless Android Auto

Till now your phone had to be plugged in to use Android Auto. But in Android 11, every smartphone running the OS can take advantage of wireless Android Auto connections. The only limitation will be that the head unit in your car will need to support the feature. Obviously, this will still be a hefty limitation for folks who own cars that are a few years old, but it will start the transition towards every Android Auto experience eventually being totally wireless.

Share sheet

There is no doubt that Android’s sharing system was a mess. Thankfully, it is about to get more useful with Android 11. You can now pin apps to your share sheet in order to easily access them whenever you want to share something. This feature allows users to control which apps appear at the top of the list when you want to share something. Android’s current system of presenting apps in an order that it determines is confusing.

Improved voice access

By turning on voice access, you can simply tell your Android phone what to do using the power of Google Assistant. With Android 10, though, certain functions required you to voice-activate numbered on-screen elements. For example, you would say “Tap 4” while using the Twitter app to compose a new tweet (every link on the page would have a small number next to it). Now, though, you could say, “Open Twitter, compose tweet,” making your interactions with the phone much more fluid and natural. While this will only be helpful for a minority of users, it shows how Google is taking accessibility within Android very seriously.

Conclusion

To wrap it up, there are many minor changes in the new Android OS and many apps might get affected from the updates. This is why it is required to test the apps on the devices loaded with Android 11. This will ensure that the app works fine on different devices and also on different OS versions. So instead of buying the flagship devices on which the latest Android is available, you can just login to the pCloudy platform and test your app on real devices. It’s much more efficient as there is no issue of sharing the devices with other team members and you can perform manual and automated tests from anywhere, anytime.

Espresso is a testing framework for Android which automatically synchronizes your test actions with the UI of your app. It also lets the test wait until all the background activities have finished.
 
The pCloudy utility uploads your Application APK, test APK and other APK files to pCloudy. It will then acquire a device to run your test on, execute those tests and report back the status and test report.
 
In pCloudy you don’t have to set up the environment. Just follow these simple steps.
 
After the test cases are run you can see the detailed reports. Once automation ends, the device under test will be released automatically so that you or other users can use it later.
 
There are two ways you can execute espresso test cases. Here are the steps for both
 
1. pCloudy UI Dashboard
a. In pCloudy UI there is a section called Automation where you will find multiple automation frameworks integrated to the platform.
b.Select the Espresso automation and to fill in the required details.

 
Espresso-on-pCloudy
c. pCloudy Support two TestRunners.
i. AndroidJUnitRunner (android.support.test.runner.AndroidJUnitRunner)
ii. AndroidXJUnitRunner (androidx.test.runner.AndroidJUnitRunner)
 
Espresso-on-pCloudy
d. Select your Application and Test Application.
 
Espresso-on-pCloudy
e. Select the required devices.
 
Espresso-on-pCloudy
f. Click on Next button and Schedule the automation by clicking on the Schedule button.
 
Espresso-on-pCloudy
g. You will get a dialog box. Click on Ok.
 
Espresso-on-pCloudy
Espresso-on-pCloudy
h. You will get the active session details on the Dashboard and you will also be able to see the Live view.
 
Espresso-on-pCloudy
i. Liveview will help you to see the live execution on your test cases. Click on the Liveview icon
 
Espresso-on-pCloudy
2.pCloudy Utility
 
a. Download the espresso starter pack from here and Unzip it
b. You will find two files,
i. pCloudy_Espresso.jar
ii.Config.properties
c. Place the config.properties file and pCloudy_Espresso.js file into the same directory.
d. Update the config.properties file as guided in the comments in the file.
e. In your workspace, run the command by typing the java -jar pCloudy_Espresso.jar
 
Espresso-on-pCloudy
f. This will upload the required files which you have mentioned inside the config.properties files.

g. You will get the status of the Automation in pCloudy Dashboard ActiveSession.
 
Espresso-on-pCloudy
 
h. Even on the pCloudy dashboard, you can use the Liveview by which you can see the running test cases.
 
Espresso-on-pCloudy
i. Once the test execution is over, You will get a URL of the test execution report on the terminal.
 
Espresso-on-pCloudy
j. You can open the report from the dashboard Report section also. In the report, all the test details will be there as shown in the screenshots below.
 
Espresso-on-pCloudy
 
k. You will also get individual device reports. Inside the test case level details, you will find performance details, test case logs, device logs, and video files.
 
Espresso-on-pCloudy
Espresso-on-pCloudy