请考虑以下代码:
<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”活动吗?
答案 0 :(得分:2)
部分回答这个问题:
MAIN
和LAUNCHER
并非多余,无法将活动指定为启动器活动。假设您的应用中有两个活动。如果您想在主屏幕上显示两个启动器 - 一个启动第一个活动而另一个启动第二个活动,则必须在MAIN
标记中同时保留LAUNCHER
和<intent-filter>
。您从其中一个活动中跳过其中任何一个,并且您开始只在主屏幕上看到一个物理启动器图标 - 这将启动另一个活动。
您同时保留MAIN
和LAUNCHER
这两项活动,您可以在主屏幕上看到两个物理启动器图标。每次启动相关活动。
有点令人困惑,但这个类比可能对你有所帮助:在一群人中,你将成为领导者,但没有人会知道你(主要)。每个人都会认识你,你将成为团队的一员,但不是领导者(LAUNCHER)。
答案 1 :(得分:1)
“MAIN”和“LAUNCHER”是否因为将活动指定为启动器活动而多余?
考虑到这些差异,这将是一个不可能
android.intent.action.MAIN
表示相应的活动是应用程序的入口点,即启动应用程序时,将创建此活动。
类别 - 提供有关要执行的操作的其他信息,因此:android.intent.category.LAUNCHER
表示它应作为顶级应用程序出现在Launcher中
基于上述信息的最后两个问题的逻辑将这些问题置于“否”的问题中,因为它是各自的答案。
是否有任何情况我们只会使用“LAUNCHER”而不是“MAIN”?
应用程序中可能有多个“LAUNCHER”活动吗?