发射器活动“{MAIN”和“LAUNCHER”是多余的

时间:2016-06-29 02:48:24

标签: java android

请考虑以下代码:

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

“MAIN”和“LAUNCHER”是否因为将活动指定为启动器活动而多余?有没有我们只使用“MAIN”而不是“LAUNCHER”的情况?有没有我们只使用“发射器”而不是“主”的情况?应用程序中可能有多个“LAUNCHER”活动吗?

2 个答案:

答案 0 :(得分:2)

部分回答这个问题:

MAINLAUNCHER并非多余,无法将活动指定为启动器活动。假设您的应用中有两个活动。如果您想在主屏幕上显示两个启动器 - 一个启动第一个活动而另一个启动第二个活动,则必须在MAIN标记中同时保留LAUNCHER<intent-filter>。您从其中一个活动中跳过其中任何一个,并且您开始只在主屏幕上看到一个物理启动器图标 - 这将启动另一个活动。

您同时保留MAINLAUNCHER这两项活动,您可以在主屏幕上看到两个物理启动器图标。每次启动相关活动。

有点令人困惑,但这个类比可能对你有所帮助:在一群人中,你将成为领导者,但没有人会知道你(主要)。每个人都会认识你,你将成为团队的一员,但不是领导者(LAUNCHER)。

答案 1 :(得分:1)

  

“MAIN”和“LAUNCHER”是否因为将活动指定为启动器活动而多余?

考虑到这些差异,这将是一个不可能

android.intent.action.MAIN 

表示相应的活动是应用程序的入口点,即启动应用程序时,将创建此活动。

从此documentation

类别 - 提供有关要执行的操作的其他信息,因此:android.intent.category.LAUNCHER

表示它应作为顶级应用程序出现在Launcher中

launcher

基于上述信息的最后两个问题的逻辑将这些问题置于“否”的问题中,因为它是各自的答案。

  

是否有任何情况我们只会使用“LAUNCHER”而不是“MAIN”?

     

应用程序中可能有多个“LAUNCHER”活动吗?