我不太明白IntentFilter是做什么的?下面是一个示例清单:
<activity android:name="SomeActivity" android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity><action>和<category>标记的作用是什么?假设我声明:
<activity android:name="AnotherActivity" android:label="AnotherActivity">
<intent-filter>
<action android:name="android.intent.action.PICK" />
<action android:name="android.intent.action.VIEW" />
<action android:name="android.intent.action.INSERT" />
</intent-filter>
</activity>如果与Intent对象一起使用,它会有什么作用吗?请帮我理解一下IntentFilter?
发布于 2010-07-31 14:09:39
通知系统它们可以处理哪些隐式意图,活动、服务和广播接收器可以具有一个或多个意图过滤器。每个过滤器描述组件的一种能力,组件愿意接收的一组意图。
意图过滤器是IntentFilter类的一个实例。然而,因为Android系统必须知道组件的功能才能启动该组件,所以意图过滤器通常不是在Java代码中设置的,而是在应用程序的清单文件(AndroidManifest.xml)中作为元素设置的。
筛选器具有与意图对象的操作、数据和类别字段平行的字段。在所有三个领域中,都会针对过滤器测试隐式意图。要交付给拥有过滤器的组件,它必须通过所有三个测试。如果其中一个失败了,Android系统将不会将其传递给组件-至少不会基于该过滤器。但是,由于一个组件可以有多个意图过滤器,所以没有通过一个组件过滤器的意图可能会在另一个组件过滤器上通过。
有关意图过滤器的更多信息,请参阅此
https://stackoverflow.com/questions/3373289
复制相似问题