Android Studio - 为你的应用程序设置默认活动

470 阅读1分钟

Android系统通过查看你的AndroidManifest.xml 文件找到要启动的默认活动。

默认的活动将是具有<intent-filter> 标签的活动,如下所示:

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

当Android Studio生成你的应用程序时,<intent-filter> 通常被添加到MainActivity 类中,如下所示:

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

当您添加一个新的活动时,那么该活动也将被添加到清单文件中,但没有<intent-filter> 标签。

在下面的例子中,有第二个名为SplashScreen 的活动添加到清单中:

<activity
android:name=".MainActivity"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
 android:name=".SplashScreen"
 android:exported="false" />

要将SplashScreen 活动设置为默认活动,您需要像这样移动<intent-filter> 标签:

<activity
android:name=".MainActivity"
android:exported="true">
</activity>
<activity
android:name=".SplashScreen"
 android:exported="true">
 <intent-filter>
 <action android:name="android.intent.action.MAIN" />
 <category android:name="android.intent.category.LAUNCHER" />
 </intent-filter>
</activity>

您还需要将exported 属性设置为true ,如上所示。这是从Android 12版本开始添加的新要求。

完成后,运行应用程序,你应该看到第一个活动变成了有<intent-filter> 标签的那个。

如果你没有看到新的活动启动,那么你需要检查你的Android Studio中的启动配置。

在你的Android Studio的顶部菜单,选择Run > Edit Configurations...菜单来打开Run/Debug Configurations窗口。

在该窗口中,确保启动选项被设置为默认活动,如下图所示:

Android Studio set launch to Default Activity

Android Studio将启动设置为默认活动

(android-launch-default-activity.png)

点击 "确定 "按钮,再次运行你的应用程序。

这一次,启动的默认活动应该遵循你的AndroidManifest.xml 文件中设置的<intent-filter>

这就是为你的Android应用程序设置默认活动的方法。 😉