任何人都可以准确地解释
之间的区别 <action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
为什么当我们移除上述任何一个时,我的应用程序无法运行,或者我们无法运行我们的应用程序。
答案 0 :(得分:1)
它们不是不同的代码,它们构成了同一个标记的一部分,称为 <!-- Set custom default icon. This is used when no icon is set for incoming notification
messages.See README(https://github.com/firebase/quickstart-android/tree/master/messaging#custom-default-icon) for more. -->
<meta-data
android:name="com.google.firebase.messaging.default_notification_icon"
android:resource="@drawable/ic_stat_ic_notification" />
<!-- Set color used with incoming notification messages.
This is used when no color is set for the incoming notification message. See README
(https://github.com/firebase/quickstart-android/tree/master/messaging#custom-default-color) for more. -->
<meta-data
android:name="com.google.firebase.messaging.default_notification_color"
android:resource="@color/colorAccent" />
。您可以将此部分代码放在您希望应用程序启动的任何其他活动中。
答案 1 :(得分:1)
MAIN 操作意味着可以用作应用程序的顶级入口点的所有活动。它不需要Intent中的任何其他信息,即它不接收任何输入数据启动。
LAUNCHER 类别表示应在应用程序启动器中列出入口点。
就像我们只能使用其中一个的例子一样:
主要操作和启动器可以有多个活动。但是如果我们在Launcher类别中定义了多个活动,那么我们必须使用属性android:taskAffinity =&#34;&#34;,它指定了要启动的确切包和活动。
答案 2 :(得分:1)
android.intent.action.MAIN匹配可用作应用程序顶级入口点的所有活动。
LAUNCHER类别表示此入口点应列在应用程序启动器中。
当未明确指定其组件名称时,Context.startActivity()方法需要使用默认类别来解析您的活动。
所以类别LAUNCHER +操作主要让此活动的图标显示在可用“应用程序”的启动器列表中。
您可以在AndroidManifest.xml中的多个Activity上使用此intent-filter,所有这些都将显示在“应用程序”列表中。
答案 3 :(得分:0)