Android 通常情况 Common cases

上面描述的数据测试的最后一个规则(d),表达了这样一个期望即组件能够从文件或内容提供者中获取本地数据。

因此,它们的过滤器可以只列举一个数据类型而不需要显式的命名content:和file:模式。

这是一个典型情况。

比如,一个如下的数据元素,告诉Android 这个组件能从内容提供者获取图片数据并显示:<data android:type="image/*" />既然大多数可用数据是通过内容提供者来分发,那么过滤器最通常的配置就是指定一个数据类型而不指定URI。

另外一个通用的配置是带有一个模式和数据类型的过滤器。比如,一个如下的数据元素告诉Android 可以从网络获取视频数据并显示:<data android:scheme="http" android:type="video/*" />比如,想一下,当用户点击网页上的一个链接时浏览器做了什么。

它首先试图去显示这个数据(如果这个链接指向一个HTML 页面)。

如果它不能显示这个数据,它会把一个显式意图和一个模式、数据类型组成整体然后尝试启动一个可以处理这个工作的活动。

如果没有接受者,它将要求下载管理器来下载数据。

这让它处于内容提供者的控制下,以便一个潜在的更大的活动池可以做出反应。

大多数应用程序同样有一个方法去启动刷新,而不包含任何特定数据的引用。

能初始化应用程序的活动拥有指定动作为"android.intent.action.MAIN"的过滤器。

如果它们表述在应用程序启动器中,那它们同样指定了"android.intent.category.LAUNCHER"类别:<intent-filter . . . > <action android:name="code android.intent.action.MAIN" /> <category android:name="code android.intent.category.LAUNCHER" /> </intent-filter>