【问题标题】:The activity must be exported or contain an intent-filter活动必须导出或包含意图过滤器
【发布时间】:2017-03-23 08:12:33
【问题描述】:

当我尝试运行我的应用程序时,它会显示以下错误

Error running Dashboard: The activity must be exported or contain an intent-filter

我该如何解决这个错误?

【问题讨论】:

  • 您可以通过向我们展示您的一些代码来解决它。也发布您的AndroidManifest.xml
  • 您如何尝试“运行您的应用程序”?从 IDE 启动?从主屏幕点击应用程序图标?我们不是读心者,请给我们更多数据!
  • 在这种情况下,它与 AndroidManifest 无关,而是 Android Studio 中的一个单独设置,实际上是带有 AS 插件的 Intellij Idea。

标签: java android android-activity


【解决方案1】:

我将Select Run/Debug Configuration 从我的MainActivity 更改为App,它开始工作了。选择应用配置快照:

【讨论】:

  • 我已经无情地用谷歌搜索了这个,我看到的只是一排配置或点击按钮,但没有解释为什么或这是什么。这实际上在做什么,为什么它不是自动的?
  • 这应该是公认的答案。此机制是针对不同运行/调试配置设置的配置设置。请注意,错误消息(与 Android 中的往常一样)将您完全引向错误的方向。
  • 我选择了运行 |编辑配置 |发射 |默认活动 这是“始终”设置的地方。它有些如何更改为“指定活动”
【解决方案2】:

仔细检查你的清单,你的第一个活动应该有标签

    <intent-filter>
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>

活动标签内部。

如果这不起作用,请查找位于运行按钮(绿色播放按钮)左侧的目标构建,它应该针对“app”文件夹,而不是特定活动。如果它不针对“应用程序”,只需单击它并从下拉列表中选择“应用程序”。

希望对你有帮助!

【讨论】:

  • 不知道这是导致问题的原因。荣誉。这帮助很大。
  • 这,这对我有帮助...通过选择应用程序而不是活动名称。
【解决方案3】:

首先检查您的“manifest.xml”文件中是否设置了启动活动:

<activity android:name=".{activityName}">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>

如果设置正确,接下来检查您的运行/调试配置是否设置为“App”,

如果缺少“应用”配置 - 您需要先选择“编辑配置”来添加它

如果您没有“App”配置,则需要创建一个,否则选择“App”配置并跳过创建步骤。此外,如果您的配置已损坏,您可能需要将其删除,但首先要备份您的项目。要删除损坏的配置,请展开“Android App”节点并选择“-”按钮来选择它。

要创建新配置,请选择“+”按钮并选择“Android 应用”

如果您刚刚创建了配置,您将看到以下默认名称值“Unnamed”,模块将具有值“&lt;no module&gt;”,然后点击“Apply”和“OK” .

将此名称设置为“App”并选择“app”作为模块。

接下来选择'App'作为运行配置并运行。

就是这样!

【讨论】:

  • 这对我有用!我缺少一个 标记,因为我开始了一个空项目。
【解决方案4】:

只需在您的活动中添加意图过滤器标签

例如 ::

    <activity
        android:name=".activityName">
        <intent-filter>
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

【讨论】:

  • 这对我有帮助,虽然我只是使用了这段代码: 在新活动中我创建。确保将其放在 之间
【解决方案5】:

只需使用 Run(绿色播放图标)从下拉菜单中选择应用程序。 它将运行整个应用程序而不是特定的活动。如果它没有帮助尝试在 ManiFest.xml 文件中的该活动中使用。 谢谢你

【讨论】:

  • 这个问题好像是很久以前发的,所以现在发帖不会引起太多关注。
【解决方案6】:

如果您尝试启动特定活动而不是运行启动器。 当您选择该活动时。 android studio 可能会通过这个错误, 要么你需要让它启动器活动,就像其他人回答的那样。 或者您需要在清单内的活动标签中添加android:exported="true"。它允许任何外部工具直接运行您的特定活动,而无需将其设为启动器活动

【讨论】:

    【解决方案7】:

    在 manifest.xml 中,选择您要启动的活动并设置此信息:

        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    

    【讨论】:

      【解决方案8】:

      这是因为您尝试从不是启动器活动的活动启动您的应用程序。尝试从启动器活动运行它或将您当前的活动类别更改为 android Manifest 中的启动器。

      【讨论】:

        【解决方案9】:

        有时,如果您更改启动活动,则必须在运行下拉播放按钮中单击编辑,并在应用程序中将启动选项活动更改为您在清单中设置了 LAUNCHER 意图过滤器的活动。

        【讨论】:

          【解决方案10】:

          检查您的清单,打开扩展名为 .xml 的文件,然后列出您的所有活动,您的第一个活动应该在其标签中包含此代码

          <intent-filter>
              <category android:name="android.intent.category.LAUNCHER" />
          </intent-filter>
          

          或者您可以从配置中选择另一种方式,即运行按钮左侧的下拉列表,从中选择应用程序 希望它会有所帮助!

          【讨论】:

            猜你喜欢
            • 2019-08-16
            • 2021-10-07
            • 1970-01-01
            • 2021-01-26
            • 1970-01-01
            • 2021-06-06
            • 1970-01-01
            • 1970-01-01
            • 2023-03-16
            相关资源
            最近更新 更多