运行报错:The activity must be exported or contain an intent-filter

在测试一个activity时出现了以下错误:

(1)这里一般是因为此activity不是Launcher Activity,也没有设置为 android:exported="true"

*安卓中作为启动页的activity在mainfest中必须必须设置intent-filter或者设置成exported

解决:可在AndroidManifest.xml中Activity配置上设置 android:exported="true",或者设置intent-filter

如下:

        <!--    指定activity设置exported为true    -->
        <activity android:name=".activity.POStockInActivity" android:exported="true"/>

        <!--    对指定activity设置intent-filter    -->
        <activity android:name=".activity.LoginActivity" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

(2)还有一种情况,在修改了Launcher Activity后,直接用快捷键shift+F10运行,这会继续用之前的Activity运行

解决:不要使用快捷键启动,在新设置的Activity上右键,点击'Run XXXActivity'进行运行

* 下图为修改 Launcher Activity 之处,可以看到修改了 Launcher Activity 之后就会警告,需要将此activity设置为exported或者设置intent-filter:

posted @ 2021-12-07 17:08  江风stone  阅读(6968)  评论(0)    收藏  举报