Hi fellow readers, I hope you enjoy reading blogs at TO THE NEW Digital.
With newer updates pouring into Mobile OS platforms (viz Android/iOS/Windows), the scenarios for testing also takes a shift. We at TO THE NEW brainstorm test designs around these changes made. In this blog we will focus on understanding one key change made in Android 6.0 (ie Marshmallow), the latest update from Google.
In a single word “<em>The Intent Resolution mechanism has changed</em>”.
What are Android Intents
They send signals to the Android system telling it that some action needs to be performed by another component (activity, services, broadcast receivers) in the same app or a different app. The system starts resolving which component in which app is responsible to handle this event that just got triggered.
Intent Resolution Changes
Resolving of “Implicit Intent”s in Android Marshmallow is not working the same as before. Android Marshmallow introduced App Links. This change may break your app’s behavior. So we better add it to your testing checklist.
Earlier, the Android system used to ask user to choose an app from a list when she wants to open a URI. But now it will basically authenticate with my app/web-page and open URL automatically using my application without asking anything to user.
There could be many test cases around this new feature.
An alternative provided to user is that she can go to system Settings, Apps, click an app, click “Open by default. The devs no more get all activities in intent resolution, but only 1 activity. It may break the behavior of public API as well. However, there is a provision to use and prioritize the “domain verified application”. But that returns no activity.
Browser apps are eliminated, even when their IntentFilters match.
It is an internal component, and devs can’t do anything about it. So target your testing around this area now on-wards as well.
There’s more for us to brainstorm with this list of changes in Android 6.0, which we will keep on writing in near future.