Android SDK 开发之 Intent 和 Intent Filter
2010-03-23 04:12:00 来源:WEB开发网应用程序可以用相同的方式来使用intent匹配. PackageManager 有一组query...()方法来寻找接受某个特定intent的所有组件, 还有一系列resolve...()方法来决定响应一个intent的最佳组件. 例如, queryIntentActivities()返回一个activity列表, 这些activity可以执行传入的intent. 类似的还有queryIntentServices()和queryIntentBroadcastReceivers().
Note Pad Example 例子:记事本
记事本示例程序让用户可以浏览一个笔记列表, 查看, 编辑, 删除和增加笔记. 这一节关注该程序定义的intent filter.
在其manifest文件中, 记事本程序定义了三个activity, 每个有至少一个intent filter. 它还定义了一个content provider来管理笔记数据. manifest 文件如下:
《manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.android.notepad"》
《application android:icon="@drawable/app_notes"
android:label="@string/app_name" 》
《provider android:name="NotePadProvider"
android:authorities="com.google.provider.NotePad" /》
《activity android:name="NotesList" android:label="@string/title_notes_list"》
《intent-filter》
《action android:name="android.intent.action.MAIN" /》
《category android:name="android.intent.category.LAUNCHER" /》
《/intent-filter》
《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》
《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" /》
更多精彩
赞助商链接