Con este ejemplo, vas a poder navegar a través de una lista de notas, ver los detalles sobre los elementos de esa lista, editarlos y agregar nuevos elementos a la lista. Es un ejemplo en el que se utilizan intent filters (filtros) declarados en un archivo de manifiesto.
En el archivo de manifiesto, la aplicación Notas declara tres actividades, cada una con al menos un intent filtres. También declara un proveedor de contenido (content provider) que administra los datos de la nota. A continuación se puede ver el archivo manifiesto:
<manifestxmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.android.notepad">
<applicationandroid:icon="@drawable/app_notes"
android:label="@string/app_name">
<providerandroid:name="NotePadProvider"
android:authorities="com.google.provider.NotePad"/>
<activityandroid:name="NotesList"android:label="@string/title_notes_list">
<intent-filter>
<actionandroid:name="android.intent.action.MAIN"/>
<categoryandroid:name="android.intent.category.LAUNCHER"/>
</intent-filter>
<intent-filter>
<actionandroid:name="android.intent.action.VIEW"/>
<actionandroid:name="android.intent.action.EDIT"/>
<actionandroid:name="android.intent.action.PICK"/>
<categoryandroid:name="android.intent.category.DEFAULT"/>
<dataandroid:mimeType="vnd.android.cursor.dir/vnd.google.note"/>
</intent-filter>
<intent-filter>
<actionandroid:name="android.intent.action.GET_CONTENT"/>
<categoryandroid:name="android.intent.category.DEFAULT"/>
<dataandroid:mimeType="vnd.android.cursor.item/vnd.google.note"/>
</intent-filter>
</activity>
<activityandroid:name="NoteEditor"
android:theme="@android:style/Theme.Light"
android:label="@string/title_note">
<intent-filterandroid:label="@string/resolve_edit">
<actionandroid:name="android.intent.action.VIEW"/>
<actionandroid:name="android.intent.action.EDIT"/>
<actionandroid:name="com.android.notepad.action.EDIT_NOTE"/>
<categoryandroid:name="android.intent.category.DEFAULT"/>
<dataandroid:mimeType="vnd.android.cursor.item/vnd.google.note"/>
</intent-filter>
<intent-filter>
<actionandroid:name="android.intent.action.INSERT"/>
<categoryandroid:name="android.intent.category.DEFAULT"/>
<dataandroid:mimeType="vnd.android.cursor.dir/vnd.google.note"/>
</intent-filter>
</activity>
<activityandroid:name="TitleEditor"
android:label="@string/title_edit_title"
android:theme="@android:style/Theme.Dialog">
<intent-filterandroid:label="@string/resolve_title">
<actionandroid:name="com.android.notepad.action.EDIT_TITLE"/>
<categoryandroid:name="android.intent.category.DEFAULT"/>
<categoryandroid:name="android.intent.category.ALTERNATIVE"/>
<categoryandroid:name="android.intent.category.SELECTED_ALTERNATIVE"/>
<dataandroid:mimeType="vnd.android.cursor.item/vnd.google.note"/>
</intent-filter>
</activity>
</application>
</manifest>
<intent-filter>
<actionandroid:name="android.intent.action.MAIN"/>
<categoryandroid:name="android.intent.category.LAUNCHER"/>
</intent-filter>
<intent-filter>
<actionandroid:name="android.intent.action.VIEW"/>
<actionandroid:name="android.intent.action.EDIT"/>
<actionandroid:name="android.intent.action.PICK"/>
<categoryandroid:name="android.intent.category.DEFAULT"/>
<dataandroid:mimeType="vnd.android.cursor.dir/vnd.google.note"/>
</intent-filter>
<intent-filter>
<actionandroid:name="android.intent.action.GET_CONTENT"/>
<categoryandroid:name="android.intent.category.DEFAULT"/>
<dataandroid:mimeType="vnd.android.cursor.item/vnd.google.note"/>
</intent-filter>
android.intent.action.MAINandroid.intent.action.MAIN android.intent.category.LAUNCHERandroid.intent.action.VIEW content://com.google.provider.NotePad/notesontent://com.google.provider.NotePad/notes. Entonces, el usuario puede examinar la lista y obtener información acerca de los artículos que hay en ella.android.intent.action.PICK content://com.google.provider.NotePad/notescontent://com.google.provider.NotePad/notes. El usuario puede, a continuación, seleccionar una nota de la lista, y la actividad devolverá el URI.android.intent.action.GET_CONTENT vnd.android.cursor.item/vnd.google.note<intent-filterandroid:label="@string/resolve_edit">
<actionandroid:name="android.intent.action.VIEW"/>
<actionandroid:name="android.intent.action.EDIT"/>
<actionandroid:name="com.android.notepad.action.EDIT_NOTE"/>
<categoryandroid:name="android.intent.category.DEFAULT"/>
<dataandroid:mimeType="vnd.android.cursor.item/vnd.google.note"/>
</intent-filter>
<intent-filter>
<actionandroid:name="android.intent.action.INSERT"/>
<categoryandroid:name="android.intent.category.DEFAULT"/>
<dataandroid:mimeType="vnd.android.cursor.dir/vnd.google.note"/>
</intent-filter>
Acción: android.intent.action.VIEW
datos: content://com.google.provider.NotePad/notes/ID
Muestra el contenido de la nota identificada por ID.
Acción: android.intent.action.EDIT
datos: content://com.google.provider.NotePad/notes/ID
Muestra el contenido de la nota identificada por ID, y permite al usuario editarla. Si el usuario guarda los cambios, la actividad actualiza los datos de la nota en el proveedor de contenido.
Acción: android.intent.action.INSERT
datos: content://com.google.provider.NotePad/notes
<intent-filterandroid:label="@string/resolve_title">
<actionandroid:name="com.android.notepad.action.EDIT_TITLE"/>
<categoryandroid:name="android.intent.category.DEFAULT"/>
<categoryandroid:name="android.intent.category.ALTERNATIVE"/>
<categoryandroid:name="android.intent.category.SELECTED_ALTERNATIVE"/>
<dataandroid:mimeType="vnd.android.cursor.item/vnd.google.note"/>
</intent-filter>
Acción: com.android.notepad.action.EDIT_TITLE
datos: content://com.google.provider.NotePad/notes/ID
Llama la actividad para mostrar el título asociado no la nota ID, y permite que el usuario pueda editar el título.