通过5.0+中的活动别名更改启动程序图标后,最近的应用程序无法启动应用程序

问题描述:

使用activity-alias方法将应用程序启动器图标更改为新的应用程序启动器图标后,我通过后退按钮退出应用程序,并且当我尝试从最近启动应用程序Android 5.0+中的应用程序(近期任务)将不会启动。并在一些源代码敬酒:“无法启动”,并在我的情况下,甚至不敬酒什么。通过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> 

我通过防止接近的应用通过在onBackPressed()加入moveTastToBack()方法解决这个问题,而无需调用根活动super方法:

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

与此,应用程序不是关闭,而是后退,就像当你点击主页按钮时一样,永远不会发生这个问题。