如何在Android Studio中修改Activity优先级,设置SplashActivity优先启动
解决方法:修改Manifest配置让SplashActivity成为默认启动页
没问题,这事儿其实很简单,只需要调整你的AndroidManifest.xml配置文件,把启动页的优先级从MainActivity转移到SplashActivity就行,我来一步步给你说明:
步骤1:修改AndroidManifest.xml的Activity配置
打开项目中app/src/main/目录下的AndroidManifest.xml文件,找到MainActivity对应的<activity>标签——它里面肯定有一段包含MAIN和LAUNCHER的<intent-filter>,这就是系统识别默认启动页的关键。
你需要把这段<intent-filter>从MainActivity的标签里移到SplashActivity的标签内部,同时移除MainActivity里的启动意图配置。
修改前的示例:
<!-- 原来的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> <!-- SplashActivity只是普通页面 --> <activity android:name=".SplashActivity" android:exported="false" />
修改后的示例:
<!-- 现在SplashActivity成为默认启动页 --> <activity android:name=".SplashActivity" android:exported="true"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <!-- MainActivity不再作为启动页 --> <activity android:name=".MainActivity" android:exported="false" />
步骤2:给SplashActivity添加跳转逻辑
配置完Manifest后,还需要在SplashActivity的代码里添加跳转到其他页面(比如MainActivity)的逻辑,一般会做个延迟展示:
import android.content.Intent; import android.os.Bundle; import android.os.Handler; import android.os.Looper; import androidx.appcompat.app.AppCompatActivity; public class SplashActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_splash); // 确保你有对应的布局文件 // 延迟2秒后跳转,时间可以根据需求调整 new Handler(Looper.getMainLooper()).postDelayed(() -> { Intent jumpIntent = new Intent(SplashActivity.this, MainActivity.class); startActivity(jumpIntent); finish(); // 关闭SplashActivity,避免按返回键回到启动页 }, 2000); } }
注意事项
- 确保SplashActivity有对应的布局文件
activity_splash.xml,可以根据需求设计启动页的UI - 跳转后记得调用
finish(),否则用户按返回键会回到启动页 - 如果你的项目使用AndroidX,确保导入的是
androidx.appcompat.app.AppCompatActivity而非旧版的AppCompatActivity
内容的提问来源于stack exchange,提问作者Kajal K
相关产品推荐
相关产品推荐

