Intent is an object of Android application development that’s used for representing an Android application intent to perform an action.
You can use intents for many performing many kinds of actions, such as opening a website or moving from one Android
Activity to the next.
There are two kinds of
Intent in Android:
Intentis an intent that is fulfilled within the application that runs it.
Intentsends a request to the Android system to fulfill the intended action. It’s up to Android how to respond to the request
This tutorial will help you run both types of
Intent when developing an Android application with Kotlin.
There’s also a companion Android project that demonstrates how to create both types of
Intent in this GitHub repo. You can import the project to Android Studio.
Creating explicit Kotlin Intent
To create an explicit
Intent, you need to pass a
Context and a
Class to the constructor.
For example, the following Kotlin code creates an
intent that takes the current activity
this as the
Context argument and the
SecondActivity class as the
intent = Intent(this, SecondActivity::class.java) startActivity(intent)
In Kotlin, the
SecondActivity class is directly initialized using the
intent is passed to the
startActivity() function so that a new activity will be launched by Android.
In the example application, you can press the
Go to second activity button to see an explicit
Intent in action:
The code for the explicit intent can be found at the
MainActivity.kt file at lines 14 to 20.
Now that you’ve seen an example of an explicit
Intent, let’s see an example of an implicit
Creating implicit Kotlin Intent
Intent can be created by specifying two arguments in the
Intentaction that you want Android to perform. There are a limited set of actions provided by Android that you can use
- The data to operate on, expressed as a
For example, suppose you want your Android app to open a web browser and navigate to a certain URL.
This is how you can create the
intent = Intent(Intent.ACTION_VIEW, Uri.parse("https://metapx.org")) startActivity(intent)
The above code states that you want to perform an intended action called
ACTION_VIEW and use the parsed URL address
https://metapx.org as the
The Android system will try to fulfill this request as best as it can.
In the example Android app, you can press the
Launch Browser button to see an implicit
Intent in action:
The code for the implicit intent can be found at the
MainActivity.kt file at lines 22 to 28.
By providing a web address as the
Uri data value, Android will open your default browser and switch the active application to that browser.
The browser will also navigate to the provided URL automatically.
Now you’ve learned how to create an Android
Intent object in Kotlin. Good work! 👍