运行报错: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:


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM