What are Intents in Android | Interception of Android Implicit Intents | A Complete Guide For Beginners
Last updated on 04th Nov 2022, Artciles, Blog
- In this article you will learn:
- 1.What are Intents?
- 2.Intent Types.
- 3.Use cases of Intent.
- 4.Information present in Intent.
- 5.Examples of Intent.
- 6.Conclusion.
What are Intents?
An Intent is the messaging object can use to request a action from another app component .Let’s look upon informal way of explaining a Intents. Can think of Intents as messaging service that is used to communicate between the various components of an Android application such as Activity.Can request some Activity of an app to start some other Activity with the help of an Intents. For example, in LoginAcitvity of each application, enter the username and password and if credentials are correct then move on to some HomeActivity. So this can be done using an intents.So in a simple words Intents are used to communicate between the different App components.
Intent Types:
There are two types of an Intents:
1.Explicit Intents:
Explicit Intents are used when want to communicate with those app components whose address is with i.e. know the package name or fully-qualified address of components. This is generally used when need to have communication between own app components because know the address of that app component. But if don’t know the address of a desired app component then have to use a Implicit Intents.
2.Implicit Intents:
When need to communicate with some app component whose address is not with then can use a Implicit Intents there. For example, if need to use a camera app, then don’t know the package name or class name of a camera app. So, all can do is just specify a action i.e. want to use a camera and implicit intent will suggest some applications that can let use a camera app.
Use cases of Intents:
Know that Intents are used to have communication between the various components of Android Application. These communications can be done in different ways but in general there are three use cases of Intents:
1. Starting an Activity:
Can use an Intents to start a specific activity by using Intents. For example, if having two activities namely LoginActivity and MainActivity then, can start a MainActivity by clicking the login button present on LoginActivity . By using the startActivity() , and can start the desired Activity using an Intents.
2. Starting a Service:
Can think of service as the component that will perform a specific task in the background. So, can use Intents to start service also. For API level 21 or higher, can use a JobScheduler to start a service. For API level lower than a 21 and can use a Service class to achieve the same.
3. Delivering broadcast:
A broadcast is the message that is received by application from system. A very common example of a broadcast can be a Device Charging message. So can use a broadcast to send some type of message to the applications present in a device.
Information present in Intent:
So Activity or an action can be called by using an Explicit Intents or by using some Implicit Intents. But question that arises here is that how the Android System come to know that a specific Activity or Action is to be called? This is done by a reading the information that is present in Intent. The Android System reads an information present in Intent and based on this information Android System decides which Activity is to be launched. So some of basic information that Intent contains are:
Action: An action is the string that specifies the action to be performed by particular Activity. For example, can use the ACTION_VIEW with startActivity() when application contains some information like images that can be shown to user. Another action that can be performed is an ACTION_SEND which is used to share a some data with the another application like in Email applications.
Data: While creating Intent, can pass the data and the type of data on which action is to be performed by an Android System with the help of Intents. The URI object is used to be reference the data that will be used to perform a some action on it. For example, if need to edit some data then have to pass URI of the data in ACTION_EDIT action.
Category: Category is used in a case of Explicit Intents where need to specify a type of application that will be used to perform a particular action. For example, if need to send some data then only data sending applications should be made available for choice to users. Can specify a category with help of addCategory() .
Component Name: The component name is a name of the component that is to be started.
Extras: Can add extra data to the Intent in the form of key-value pairs and this extra information can be passed from a one Activity to the other. putExtra() is used to add a some extra data to the Intents and this method accepts the two parameters i.e. the key and corresponding value.
Conclusion:
It is quite usual for Android users to leap from one programme to another as part of the overall process, such as looking for a location on the web and seeing a jump immediately into Google Maps or receiving payment links in messages. When you select the application (SMS) and PayPal or GPAY (Google Pay). Passing intentions to the system allows users to be moved from one application to another. In general, intents are used to traverse between different activities inside the same application but they are not limited to a single programme they can also be utilized when switching from one application to another.
Are you looking training with Right Jobs?
Contact Us- Android App Development Fundamentals
- Android Studio Tutorial
- Creating and Publishing an Android Library | A Concise Tutorial
- AlertDialog in Android : The Ultimate Guide with Expert’s Top Picks
- Android Manifest File | The Application Manifest.xml File in Android [ A Complete Guide ]
Related Articles
Popular Courses
- Hadoop Developer Training
11025 Learners
- Apache Spark With Scala Training
12022 Learners
- Apache Storm Training
11141 Learners
- What is Dimension Reduction? | Know the techniques
- Difference between Data Lake vs Data Warehouse: A Complete Guide For Beginners with Best Practices
- What is Dimension Reduction? | Know the techniques
- What does the Yield keyword do and How to use Yield in python ? [ OverView ]
- Agile Sprint Planning | Everything You Need to Know