運行報錯: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