Here we will learn intents and intent filters in android with examples and how to use android intents and intent filters, different types of intents (explicit intents, implicit intents) with examples.
Generally in android, Intents will help us to maintain the communication between app components from the same application as well as with the components of other applications.
In android, Intents are the objects of android.content.Intent type and intents are mainly useful to perform following things.
|Starting an Activity||By passing an Intent object to
|Starting a Service||By passing an Intent object to
|Delivering a Broadcast||By passing an Intent object to
Generally, in android Intent object contains the information that required to determine which component to start and the information about the action to be performed by recipient component.
The Intent object in android is having a following characteristics to help android system to understand which component should start.
It’s defines a name of the component to start and by using component name android system will deliver intent to the specific app component defined by the component name. In case if we didn’t define component name then android system will decide which component should receive intent based on other intent information such as action, data, etc.
In android, we can specify the component name for an intent by using fully qualified class name of the target component and package name, for example com.tutlane.sampleActivity. We can set the component name by using
setClassName() or by using Intent constructor.
It defines a name of the action to be performed to start an activity. Following are the some of common actions to start an activity.
|ACTION_VIEW||We can use this action in an intent with
|ACTION_SEND||We can use this action in an intent with
We can specify the action name of an intent by using
setAction() or with an Intent constructor.
It specify a type of the data to an intent filter. When we create an intent, it’s important to specify the type of data (MIME type) in addition to its URI. By specifying a MIME type of data, it helps android system to decide which is the best component to receive our intent.
Generally, in android category is an optional for intents and it specify the additional information about type of the component that should handle an intent.
We can specify a category for an intent by using
The above properties (Component Name, Action, Data and Category) will represent the characteristics of an intent. By using these properties, android system will easily decide which app component to start.
There are two types of intents available in android, those are Implicit Intents and Explicit Intents.
If you want to know about Implicit or Explicit intents check below URLS.
This is how we can use intents in android applications to invoke required service or an activity based on our requirements.