page.title=Interacting with Other Apps
page.tags=intents,activity

trainingnavtop=true
startpage=true

@jd:body

<div id="tb-wrapper">
<div id="tb">

<h2>Dependencies and prerequisites</h2>
<ul>
  <li>Basic understanding of the Activity lifecycle (see <a
href="{@docRoot}training/basics/activity-lifecycle/index.html">Managing the Activity
Lifecycle</a>)</li>
</ul>


<h2>You should also read</h2>
<ul>
    <li><a href="{@docRoot}training/sharing/index.html">Sharing Simple Data</a></li>
    <li><a href="{@docRoot}training/secure-file-sharing/index.html">Sharing Files</a>
  <li><a
href="http://android-developers.blogspot.com/2009/11/integrating-application-with-intents.html">
Integrating Application with Intents (blog post)</a></li>
  <li><a href="{@docRoot}guide/components/intents-filters.html">Intents and Intent
Filters</a></li>
</ul>

</div>
</div>

<p>An Android app typically has several <a
href="{@docRoot}guide/components/activities.html">activities</a>. Each activity displays a
user interface that allows the user to perform a specific task (such as view a map or take a photo).
To take the user from one activity to another, your app must use an {@link
android.content.Intent} to define your app's "intent" to do something. When you pass an
{@link android.content.Intent} to the system with a method such as {@link
android.app.Activity#startActivity startActivity()}, the system uses the {@link
android.content.Intent} to identify and start the appropriate app component. Using intents even
allows your app to start an activity that is contained in a separate app.</p>

<p>An {@link android.content.Intent} can be <em>explicit</em> in order to start a specific component
(a specific {@link android.app.Activity} instance) or <em>implicit</em> in order to start any
component that can handle the intended action (such as "capture a photo").</p>

<p>This class shows you how to use an {@link android.content.Intent} to perform some basic
interactions with other apps, such as start another app, receive a result from that app, and
make your app able to respond to intents from other apps.</p>

<h2>Lessons</h2>

<dl>
  <dt><b><a href="sending.html">Sending the User to Another App</a></b></dt>
  <dd>Shows how you can create implicit intents to launch other apps that can perform an
action.</dd>
  <dt><b><a href="result.html">Getting a Result from an Activity</a></b></dt>
  <dd>Shows how to start another activity and receive a result from the activity.</dd>
  <dt><b><a href="filters.html">Allowing Other Apps to Start Your Activity</a></b></dt>
  <dd>Shows 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.</dd>
</dl>

