Implicit intents are intents that do not have a target and the field for the component name is left blank.
Implicit intents are often used to activate components in other applications.
In case the activity to be activated is not explicitly called, i.e., when the intent has failed to mention the activity that it’s supposed to call, Android find activities that match the intent. This process called Intent Resolution.
INTENT RESOLUTION PROCESS
Intent resolution is carried out based on two of the information
- The activity that creates the intent describes the operation that the activity wants to perform.
- Individual android activities specify intent filters – which describes the kinds of operation or intents that they can handle. This information is usually placed in Android Manifest xml file of the application to which the activities belong
Intent Resolution Data
At run time, when the start activity run method is called, Android will try to match the intent with the intent filters that it knows about.
However it’s only going to use part of the intent information when it does this matching.
- Specifically it will look at the action field
- Will have a look at the Data: including both the URI and the mime type
So here’s an XML snippet showing an activity tag and this tag includes within it an intent filter tag, that intent filter tag which includes within it an action corresponding to the intent action that it can support.
Suppose the user wants to go to a URI and an activity does that then it should include an intent filter with the standard action, android.intent.action.View
Intent i = new Intent(Intent.ACTION_VIEW,
// Starts Implicit Activity