清单xml文件中有多个android.intent.action.MAIN

use*_*831 15 android

我是Android开发的新手我看过很多教程,他们只有android.intent.action.MAIN这个应用程序的启动活动.

但是,在Android应用程序演示中,我android.intent.action.MAINmainfest.xml中看到了多个语句.谁能解释为什么mainfest.xml有多个android.intent.action.MAIN陈述?

而且,在哪些情况下我们应该MAIN在manifest.xml中有多个?

ale*_*ull 20

他们是该计划的不同切入点.例如,我刚刚创建了两个活动,两个活动都有典型的intent过滤器

<intent-filter>
    <action android:name="android.intent.action.MAIN" />
    <category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
Run Code Online (Sandbox Code Playgroud)

事实证明,我的启动器屏幕现在有两个不同的图标用于同一个程序,每个不同的活动一个.这是有道理的,因为MAIN/LAUNCHER意图过滤器实质上告诉android该活动是应用程序的启动活动.android的intent过滤器模型中没有任何内容强制每个应用程序只有一个启动活动.

  • 我认为只有`MAIN`意图过滤器允许活动作为应用程序的启动活动.如果省略`LAUNCHER`,则不会创建图标.至少这是我在测试设备上观察到的. (7认同)