Android 解析 Intent 的方法
2010-03-07 17:16:00 来源:WEB开发网41.
42. 《activity class=".TitleEditor" android:label="@string/title_edit_title"
43. android:theme="@android:style/Theme.Dialog"》
44. 《intent-filter android:label="@string/resolve_title"》
45. 《action android:value="com.google.android.notepad.action.EDIT_TITLE" /》
46. 《category android:value="android.intent.category.DEFAULT" /》
47. 《category android:value="android.intent.category.ALTERNATIVE" /》
48. 《category android:value="android.intent.category.SELECTED_ALTERNATIVE" /》
49. 《type android:value="vnd.android.cursor.item/vnd.google.note" /》
50. 《/intent-filter》
51. 《/activity》
52.
53. 《/application》
54. 《/manifest》
例子中的第一个Activity 是com.google.android.notepad.NotesList,它是应用的主入口,提供了三个功能,分别由三个 intent-filter进行描述:
1、第一个是进入便笺应用的顶级入口(action为android.app.action.MAIN)。类型为android.app.category.LAUNCHER表明这个Activity将在Launcher中列出。
2、第二个是,当type为vnd.android.cursor.dir/vnd.google.note(保存便笺记录的目录) 时,可以查看可用的便笺(action为android.app.action.VIEW),或者让用户选择一个便笺并返回给调用者(action为 android.app.action.PICK)。
3、第三个是,当type为vnd.android.cursor.item/vnd.google.note时,返回给调用者一个用户选择的便笺(action为android.app.action.GET_CONTENT),而用户却不需要知道便笺从哪里读取的。 有了这些功能,下面的Intent就会被解析到NotesList这个activity:
* { action=android.app.action.MAIN }:与此Intent匹配的Activity,将会被当作进入应用的顶级入口。
* { action=android.app.action.MAIN, category=android.app.category.LAUNCHER }:这是目前Launcher实际使用的 Intent,用于生成Launcher的顶级列表。
* { action=android.app.action.VIEW data=content://com.google.provider.NotePad/notes }:显示"content://com.google.provider.NotePad/notes"下的所有便笺的列表,使用者可以遍历列表,并且察看某便笺的详细信息。
更多精彩
赞助商链接