情境:
安裝 App 後在裝置上產生 2 個該 App 的啟動圖示
原因:
通常是在 AndroidManifest.xml 中的 Activity,同時存在 2 個如下的 intent-filter 內容
<intent-filter> <action android:name="android.intent.action.MAIN"/> <category android:name="android.intent.category.LAUNCHER"/> </intent-filter>
如下面的 SplashActivity 和 MainActivity 都有相同的 intent-filter
... <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="2 launcher icon" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/AppTheme"> <activity android:name=".splash.SplashActivity"> <intent-filter> <action android:name="android.intent.action.MAIN"/> <category android:name="android.intent.category.LAUNCHER"/> </intent-filter> </activity> <activity android:name=".MainActivity"> <intent-filter> <action android:name="android.intent.action.MAIN"/> <category android:name="android.intent.category.LAUNCHER"/> </intent-filter> </activity> </application>
解法:
移除其中一個相同的 intent-filter