Activity 的每个过滤器(<intent-filter>标签)都会在系统中注册,然后系统在根据 Intent 对象设置的过滤条件筛选符合条件的 Activity,并显示出来,如果有多个 Activity 符合条件,会显示一个选择列表。 如果过滤器不设置 3 个过滤条件,系统会如下处理: 不设置 Action,由于 Action 是必选项,所以必须要为 Intent-Filter 设置 Action,否则无法被其他的 Android 应用调用(同一个 Android 应用还是可以通过显式方式调用)。 不设置 Category,系统会添加一个默认的 Category(android.intent.category.DEFAULT) 不设置 Data。系统会认为 Activity 不含有任何 Data。也就是说,如果过滤器中含有<data>标签,即使 Intent 的 Action 跟 Category 都与过滤器匹配,但是 Data 不匹配,也不能启动该 Activity。
|
|
来自: 昵称28174404 > 《Intent》