通过5.0 以Activity-Alias更改启动器图标后,App并未从最近的应用程序启动



将应用程序启动器图标更改为使用activity-alias方法的新启动器图标后,我通过返回按钮从应用程序退出,然后我尝试从Android 5.0 中的最新应用程序(最近的任务)启动应用程序时,应用不会启动。在某些源代码中,它敬酒:"无法启动",对于我的情况,甚至不敬酒。

但是有一个App Textra SMS,它可以更改启动器图标,并且在更改图标之后,应用程序正常从最近的应用程序开始。

如何解决此问题?

这是AndroidManifest.xml代码:

<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:supportsRtl="true"
    android:theme="@style/AppTheme">
    <activity
        android:name=".MainActivity"
        android:label="@string/app_name"
        android:theme="@style/AppTheme.NoActionBar">
    </activity>
    <activity-alias
        android:name="com.sid.appiconlauncher.MainActivity-Red"
        android:enabled="true"
        android:icon="@mipmap/ic_launcher_red"
        android:label="@string/app_red"
        android:targetActivity=".MainActivity">
        <intent-filter>
            <action android:name="android.intent.action.MAIN"/>
            <category android:name="android.intent.category.LAUNCHER"/>
        </intent-filter>
    </activity-alias>
    <activity-alias
        android:name="com.sid.appiconlauncher.MainActivity-Green"
        android:enabled="false"
        android:icon="@mipmap/ic_launcher_green"
        android:label="@string/app_green"
        android:targetActivity=".MainActivity">
        <intent-filter>
            <action android:name="android.intent.action.MAIN"/>
            <category android:name="android.intent.category.LAUNCHER"/>
        </intent-filter>
    </activity-alias>
    <activity-alias
        android:name="com.sid.appiconlauncher.MainActivity-Blue"
        android:enabled="false"
        android:icon="@mipmap/ic_launcher_blue"
        android:label="@string/app_blue"
        android:targetActivity=".MainActivity">
        <intent-filter>
            <action android:name="android.intent.action.MAIN"/>
            <category android:name="android.intent.category.LAUNCHER"/>
        </intent-filter>
    </activity-alias>
</application>

i通过在onBackPressed()中添加moveTastToBack()方法来解决此问题,而无需调用super方法:

@Override
public void onBackPressed() {
        moveTaskToBack(true);
    }
}

这样,应用程序不关闭,而是移至后退,就像您单击"主"按钮时都不会发生此问题。