不太明白IntentFilter的作用是什么?以下是 list 示例:
<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?
最佳答案
为了通知系统它们可以处理哪些隐式 Intent , Activity 、服务和广播接收器可以拥有一个或多个 Intent 过滤器。每个过滤器都描述了组件的一种功能,即组件愿意接收的一组 Intent 。
Intent 过滤器是IntentFilter类的一个实例。但是,由于 Android 系统在启动组件之前必须了解该组件的功能,因此 Intent 过滤器通常不是在 Java 代码中设置,而是在应用程序的 list 文件 (AndroidManifest.xml) 中作为元素设置。
过滤器具有与 Intent 对象的操作、数据和类别字段并行的字段。在所有三个区域中针对过滤器测试隐式 Intent 。要交付给拥有过滤器的组件,它必须通过所有三项测试。即使其中一个失败,Android 系统也不会将其传递给该组件——至少不会根据该过滤器。但是,由于一个组件可以有多个 Intent 过滤器,因此未通过某个组件过滤器的 Intent 可能会通过另一个组件的过滤器。
有关 Intent-Filter 的更多信息,请参阅此 Android Developer - Intent Filters Page
关于android - IntentFilter 的作用是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3373289/