You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android应用执行用户认证时跳转LoginActivity崩溃如何解决?

问题触发原因

崩溃日志已经明确给出根因:触发了android.content.ActivityNotFoundException异常,系统提示找不到com.example.passiveincome.LoginActivity类。Android系统要求所有的Activity组件必须在项目的AndroidManifest.xml清单文件中注册后才能被正常启动,你已经完成了LoginActivity的代码编写,但没有在清单文件中做对应的声明,因此跳转时直接触发崩溃。

另外代码存在一处隐藏隐患:LoginActivity的onStart生命周期中注册了Firebase的登录状态监听,只要当前设备有已登录的账号,进入LoginActivity就会自动跳转至RegistrationActivity,如果RegistrationActivity也没有在清单文件中声明,会再次触发同类崩溃。

修复方案

1. 注册LoginActivity

打开项目路径下的app/src/main/AndroidManifest.xml文件,在<application>标签内部添加如下声明:

<activity
    android:name=".LoginActivity"
    android:exported="false" />

如果你的项目targetSdk版本≥31,且该页面需要被其他外部应用唤起,将android:exported属性值改为true即可。

2. 补充其他Activity的注册

检查你代码中用到的其他页面,尤其是RegistrationActivity,按照上述格式同步在清单文件中补充声明:

<activity
    android:name=".RegistrationActivity"
    android:exported="false" />

3. 可选优化(解决内存泄漏隐患)

你当前在LoginActivity的onStart中注册了AuthStateListener,但没有在页面销毁时解绑,会导致内存泄漏,可在LoginActivity中添加如下代码:

@Override
protected void onStop() {
    super.onStop();
    if (firebaseAuth != null && authStateListener != null) {
        firebaseAuth.removeAuthStateListener(authStateListener);
    }
}

内容的提问来源于stack exchange,提问作者user16461665

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 13:24:04