An Android app typically has several [activities](https://developer.android.com/guide/components/activities). Each activity displays a
user interface that lets the user perform a specific task, such as viewing a map or taking a photo.
To take the user from one activity to another, your app must use an [Intent](https://developer.android.com/reference/android/content/Intent) to define your app's "intent" to do something. When you pass an
`Intent` to the system with a method
such as [startActivity()](https://developer.android.com/reference/android/app/Activity#startActivity(android.content.Intent)),
the system uses the `Intent` to identify and start the appropriate app component. Using intents
even lets your app start an activity that is contained in a separate app.

An `Intent` can be *explicit* , to start
a specific [Activity](https://developer.android.com/reference/android/app/Activity) instance,
or *implicit*, to start any
component that can handle the intended action, such as "capture a photo."

The topics in this guide show you how to use an `Intent` to perform some basic
interactions with other apps, such as starting another app, receiving a result from that app, and
making your app able to respond to intents from other apps.

## Topics

**[Sending the user to another app](https://developer.android.com/training/basics/intents/sending)**
:   Shows you how to create implicit intents to launch other apps that can perform an
    action.

**[Get a result from an activity](https://developer.android.com/training/basics/intents/result)**
:   Shows you how to start another activity and receive a result from the activity.

**[Allow other apps to start your activity](https://developer.android.com/training/basics/intents/filters)**
:   Shows you how to make activities in your app open for use by other apps by defining
    intent filters that declare the implicit intents your app accepts.

**[Package visibility filtering on Android](https://developer.android.com/training/basics/intents/package-visibility)**
:   Shows you how to make other apps visible to your app if they
    aren't visible by default. Applies only to apps that target Android 11
    (API level 30) or higher.

**[Fulfill common use cases while
having limited package visibility](https://developer.android.com/training/basics/intents/package-visibility-use-cases)**
:   Shows several types of app interactions that might require you to update
    your app's manifest file so that other apps are visible to your app.
    Applies only to apps that target Android 11 (API level 30) or higher.

**[Limit loading in on-device Android containers](https://developer.android.com/training/basics/intents/limit-play-loading)**
:   Shows you how to limit your Play Store app from loading in a simulated
    Android environment app, also known as an on-device Android container.

For additional information about the topics on this page, see the following:

- [Sharing simple data](https://developer.android.com/training/sharing)
- [Sharing files](https://developer.android.com/training/secure-file-sharing)
- [Integrating Application with Intents](http://android-developers.blogspot.com/2009/11/integrating-application-with-intents.html) blog post
- [Intents and Intent
  Filters](https://developer.android.com/guide/components/intents-filters)