Android SDK 开发之 Intent 和 Intent Filter
2010-03-23 04:12:00 来源:WEB开发网《/intent-filter》
该filter声明了记事本应用程序的主入口. 标准的MAIN action是一个不需要任何其它信息(例如数据等)的程序入口, LAUNCHER category表示该入口应该在应用程序启动器中列出.
2. 《intent-filter》
《action android:name="android.intent.action.VIEW" /》
《action android:name="android.intent.action.EDIT" /》
《action android:name="android.intent.action.PICK" /》
《category android:name="android.intent.category.DEFAULT" /》
《data android:mimeType="vnd.android.cursor.dir/vnd.google.note" /》
《/intent-filter》
该filter声明了改activity可以对一个笔记目录做的事情. 它允许用户查看或编辑该目录(使用VIEW和EDIT action), 或者选取特定的笔记(使用PICK action).
《data》元素的mimeType指定了这些action可以操作的数据类型. 它表明该activity可以从一个持有记事本数据的content provider(vnd.google.note)取得一个或多个数据项的Cursor(vnd.android.cursor.dir).
注意该filter提供了一个DEFAULT category. 这是因为 Context.startActivity() 和 Activity.startActivityForResult()方法将所有的intent都作为作为包含了DEFAULT category来处理, 只有两个例外:
* 显式指明目标activity名称的intent.
* 包含MAIN action 和LAUNCHER category的intent.
因此, 除了MAIN和LAUNCHER的filter之外, DEFAULT category是必须的.
3. 《intent-filter》
《action android:name="android.intent.action.GET_CONTENT" /》
《category android:name="android.intent.category.DEFAULT" /》
《data android:mimeType="vnd.android.cursor.item/vnd.google.note" /》
《/intent-filter》
这个filter描述了该activity能够在不需要知道目录的情况下返回用户选择的一个笔记的能力. GET_CONTENT action和PICK action相类似. 在这两者中, activity都返回用户选择的笔记的URI. (返回给调用startActivityForResult()来启动NoteList activity的activity.) 在这里, 调用者指定了用户选择的数据类型而不是数据的目录.
这个数据类型, vnd.android.cursor.item/vnd.google.note, 表示了该activity可以返回的数据类型 --
更多精彩
赞助商链接