Android在具有相同动作和类别的多个组件之间有何不同?



我查找了意图过滤器,发现它们将被使用,当"Android找到合适的组件,通过将意图的内容与设备上其他应用的manifest文件中声明的意图过滤器进行比较"(http://developer.android.com/guide/components/intents-filters.html#Building)

在我的manifest文件中,有

<intent-filter>
        <action android:name="android.intent.action.MAIN" />
         <category android:name="android.intent.category.LAUNCHER" />
</intent-filter>

,这意味着这个活动可以处理一个带有main和launcher类别的隐式意图。

然而,如果我有多个应用程序与相同的意图过滤器在manifest文件。我知道一些隐式的意图将被调用main的动作和launcher的类别。Android操作系统如何知道选择这个应用程序?

当你有多个活动定义了相同的意图过滤器(action=main和category=launcher),那么android采取第一个活动定义在层次结构的意图过滤器(action=main和category=launcher),并将启动它当用户点击应用程序图标

最新更新