使用多个任务时如何防止在最近的应用程序屏幕中出现多个应用程序实例?

How to prevent multiple instances of an application in recent app screen while using multiple tasks?

Android 应用程序有 2 个 activities 除了 MainActivity,两个 activities 都有 android:launchMode="singleInstance"。我导航到每个 activity,然后我打开最近的屏幕,它将显示我的应用程序的 3 个实例,一个用于应用程序,一个用于两个活动。

将此行添加到启动器的清单文件中 activity android:launchMode="singleTop"

 <activity
   android:name=".SplashScreenActivity"
   android:launchMode="singleTop"
   android:theme="@style/AppTheme.NoActionBar">        
       <intent-filter>
            <action android:name="android.intent.action.MAIN" />       
            <category android:name="android.intent.category.LAUNCHER" />
       </intent-filter>
 </activity>

如果你真的需要创建单独的任务(我对此表示怀疑,这是一种非常罕见的情况),那么你需要执行以下操作:

  • 如果您希望每个任务都显示在最近的任务列表中,那么您将需要一种让用户区分的方法。为此,您应该为每个 <activity>(使用 android:icon="")提供不同的图标 and/or 为每个 <activity>(使用 android:label="")提供不同的标签。

  • 如果您只希望一个任务显示在最近任务列表中,那么您需要在清单中的其他 <activity> 标签上设置以下内容:

    android:excludeFromRecents="true"