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

Android Studio开发YouTube应用报错:活动必须导出或包含intent-filter

解决「The activity must be exported or contain an intent-filter」错误

Hey,我之前开发Android应用时也踩过这个坑!这个错误的核心原因是Android系统找不到启动你YoutubeActivity的正确入口规则——要么是这个活动没被标记为允许外部启动,要么是没配置intent-filter声明它的角色(比如主入口)。

关键解决方案:检查并修改AndroidManifest.xml

问题不在你提供的YoutubeActivity.java代码里,而是在清单配置文件中。你需要做以下操作:

  1. 打开项目中的AndroidManifest.xml文件(通常在app/src/main/目录下)
  2. 找到对应YoutubeActivity的<activity>标签,按场景配置:

场景1:YoutubeActivity是应用的主启动入口

如果这是用户打开APP时第一个启动的页面,必须添加intent-filter并设置exported="true":

<activity
    android:name=".YoutubeActivity"
    android:exported="true">
    <intent-filter>
        <!-- 声明这是应用的主入口 -->
        <action android:name="android.intent.action.MAIN" />
        <!-- 声明这是启动器中显示的入口 -->
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>

场景2:YoutubeActivity只是被内部/其他组件调用的页面

如果这个活动不是主入口,只是在应用内部跳转或者被其他应用调用,需要明确设置exported属性:

  • 允许外部应用调用:android:exported="true"
  • 仅内部应用调用:android:exported="false"(但如果是通过隐式Intent启动,还是需要配合对应的intent-filter)

额外注意事项

  • 从Android 12(API 31)开始,所有活动都必须显式设置exported属性,否则编译会报错
  • 不要同时给多个活动设置MAIN+LAUNCHER的intent-filter,否则系统会不知道优先启动哪个页面
  • 修改完配置后,记得点击Android Studio顶部的「Sync Project with Gradle Files」按钮,再重新运行应用

按上述步骤调整后,这个错误应该就能解决啦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 03:28:59