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

Android启动FragmentActivity时出现ActivityNotFoundException求助

排查启动FragmentActivity时的ActivityNotFoundException问题

以下是针对性的排查步骤:

  • 检查Manifest的Activity声明
    必须声明你自己的自定义FragmentActivity子类,绝对不能直接声明系统的androidx.fragment.app.FragmentActivity。比如你的类是com.example.greetingcard.MyFragmentActivity,Manifest里要这么写:

    <activity android:name=".MyFragmentActivity" />
    

    同时核对包名和类名的拼写,确保和实际类的全限定名完全一致。

  • 检查启动Activity的代码
    启动时要指定你自己写的FragmentActivity子类,不能直接传系统的FragmentActivity.class。正确示例:

    // 替换成你实际的自定义类名
    Intent intent = new Intent(MainActivity.this, MyFragmentActivity.class);
    startActivity(intent);
    

    确认上下文和目标类参数没有传错。

  • 检查自定义FragmentActivity的实现
    确保你的类正确继承自androidx.fragment.app.FragmentActivity,并且是public访问权限(否则系统无法实例化)。示例:

    public class MyFragmentActivity extends FragmentActivity {
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_fragment);
        }
    }
    

    排查类中是否有编译错误,导致类没有正确生成。

  • 检查gradle依赖与编译状态
    确认已引入androidx fragment依赖,比如:

    implementation 'androidx.fragment:fragment:1.6.1'
    

    执行Build -> Clean Project再Build -> Rebuild Project,清理编译缓存,确保类被正确编译打包。

  • 其他可能的问题
    如果开启了代码混淆,要把自定义FragmentActivity加入白名单,避免被混淆后找不到类:

    -keep public class com.example.greetingcard.MyFragmentActivity
    

    同时确认设备上安装的是最新编译的APK,卸载旧版本后重新安装测试。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 09:40:27