Приложение не запускается из последних приложений после изменения значка запуска через псевдоним активности в 5.0+

После изменения значка запуска приложения на новый с activity-alias метод, я выхожу из приложения с помощью кнопки назад, и когда я пытаюсь запустить приложение из последних приложений (Недавние задачи) в Android 5.0+, приложение не запускается. и в некоторых исходниках он произносит тосты: "Не удалось запустить", а в моем случае даже ничего не пьет.

но есть приложение 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>

1 ответ

Решение

Я решаю эту проблему, предотвращая закрытие приложения, добавив moveTastToBack() метод в onBackPressed() без звонка super метод в корневой деятельности:

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

При этом приложение не закрывается, а перемещается назад, например, когда вы нажимаете кнопку "Домой" и эта проблема никогда не возникала.

Другие вопросы по тегам