<body>
<p>Contains the components necessary to create "app widgets", which users can embed in other
applications (such as the home screen) to quickly access application data and services without
launching a new activity.</p>

<p>For more information, see the
<a href="{@docRoot}guide/topics/appwidgets/index.html">App Widgets</a> developer guide.</p>
{@more}

<p>The behavior of an app widget is published by an "app widget provider."  An "app widget host" is
a component that can contain app widgets (such as the Home screen).</p>

<p>Any application can publish app widgets (as an app widget provider).  All an application needs to
do to publish an app widget is
provide a {@link android.content.BroadcastReceiver} that receives the {@link
android.appwidget.AppWidgetManager#ACTION_APPWIDGET_UPDATE} intent
and provide some metadata about the app widget.  Android provides the
{@link android.appwidget.AppWidgetProvider} class, which extends {@link
android.content.BroadcastReceiver}, as a convenience class to define the app widget behavrio and aid
in handling the broadcasts.</p>

<p>App widget hosts are the containers in which widgets can be placed.  Most of the look and feel
details are left up to the widget hosts.  For example, the home screen has one way of viewing
widgets, but the lock screen could also contain widgets, and it would have a different way of
adding, removing and otherwise managing widgets.</p>

<p>For information about implementing an app widget host, see the {@link
android.appwidget.AppWidgetHost} class.</p>

</body>

