
本文详解 android 应用中从引导页(introactivity)跳转至 mainactivity 时崩溃的常见原因及完整解决方案,重点排查 activity 未在清单文件中声明导致的 activitynotfoundexception。
本文详解 android 应用中从引导页(introactivity)跳转至 mainactivity 时崩溃的常见原因及完整解决方案,重点排查 activity 未在清单文件中声明导致的 activitynotfoundexception。
在 Android 开发中,使用 startActivity() 启动新 Activity 是基础操作,但若目标 Activity(如 MainActivity)未在 AndroidManifest.xml 中正确注册,应用会在点击按钮时抛出 ActivityNotFoundException 并直接崩溃——这正是你遇到“点击 Get Started 按钮即闪退”问题的最常见根源。
✅ 正确配置 AndroidManifest.xml
确保 两个 Activity 均已显式声明:
<!-- AndroidManifest.xml -->
<application
... >
<!-- IntroActivity:作为启动页(可选设置为 launcher) -->
<activity
android:name=".Activity.IntroActivity"
android:exported="true">
<!-- 若希望应用从 IntroActivity 启动,请保留以下 intent-filter -->
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<!-- MainActivity:必须声明!否则 startActivity() 必然失败 -->
<activity
android:name=".Activity.MainActivity"
android:exported="false" />
</application>⚠️ 注意事项:
YZTurboWebAndroid 高性能 Android WebView 容器 SDK 接入。用于在 Android 项目中集成 WebView 容器,实现: (1) WebView 预加载与复用,提升 H5 页面加载速度 (2) 离线包管理,拦截请求优先命中本地资源 (3) JS Bridge 双向通信,Na...
- 包路径需与实际类结构严格一致(你的
IntroActivity和MainActivity均位于com.example.portfolioapplication.Activity包下,因此android:name应为.Activity.IntroActivity和.Activity.MainActivity,不可省略.Activity.; - Android 12+(API 31+)要求所有显式启动的 Activity 显式声明
android:exported属性; - 若
MainActivity是应用真正主界面,且你希望用户完成引导后进入它,请不要再给MainActivity添加LAUNCHERintent-filter,避免出现双图标。
✅ 代码优化建议(增强健壮性)
虽然你的 Java 代码逻辑正确,但可稍作改进以提升可维护性与调试能力:
startBtn.setOnClickListener(v -> {
Intent intent = new Intent(IntroActivity.this, MainActivity.class);
if (intent.resolveActivity(getPackageManager()) != null) {
startActivity(intent);
finish(); // 可选:关闭 IntroActivity,防止用户按返回键回到引导页
} else {
Log.e("IntroActivity", "MainActivity is not declared in AndroidManifest.xml!");
Toast.makeText(this, "页面跳转异常,请检查配置", Toast.LENGTH_SHORT).show();
}
});? 其他可能原因排查(辅助验证)
若声明无误仍崩溃,请依次检查:
-
R.layout.activity_intro中id/startBtn是否真实存在且类型为ConstraintLayout(或更推荐使用View或MaterialButton); -
MainActivity类是否存在、是否继承AppCompatActivity、是否重写了onCreate(); - 清理并重建项目(Build → Clean Project → Rebuild Project),排除 R 文件同步问题;
- 查看 Logcat 中崩溃堆栈——确认是否为
ActivityNotFoundException(核心线索)还是NullPointerException(说明findViewById返回 null,布局 ID 错误)。
掌握清单声明这一关键环节,即可彻底解决“按钮点击崩溃”问题。记住:Android 中每个 Activity 都是系统级组件,必须显式注册才能被安全启动。

















