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>

