You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android如何让两个带启动图标的Activity在任务列表中独立显示

问题结论

Android完全支持两个Activity在任务管理器中独立共存,你当前遇到的窗口被替换问题,根源是两个Activity默认共享应用的同一任务栈,没有配置独立的任务运行规则。

解决配置方案

只需要在AndroidManifest.xml中给两个Activity分别添加独立的taskAffinity属性,搭配singleTask启动模式即可,修改后的Activity配置代码如下:

<activity
    android:exported="true"
    android:name=".MainActivity"
    android:windowSoftInputMode="adjustResize"
    <!-- 新增配置 start -->
    android:taskAffinity="com.example.allpics.task.main"
    android:launchMode="singleTask"
    <!-- 新增配置 end -->
    >
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>
<activity
    android:exported="true"
    android:name=".GalleryActivity"
    android:label="Gallery"
    android:windowSoftInputMode="adjustResize"
    <!-- 新增配置 start -->
    android:taskAffinity="com.example.allpics.task.gallery"
    android:launchMode="singleTask"
    <!-- 新增配置 end -->
    >
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>

补充注意事项

  • 两个Activity的taskAffinity值不能相同,也不能和应用默认的亲和度(即应用包名com.example.allpics)相同,否则还是会复用已有的任务栈
  • 如果后续有从其中一个Activity内部跳转另一个的需求,需要给跳转的Intent添加Intent.FLAG_ACTIVITY_NEW_TASK标记,否则仍然会在当前任务栈中打开目标Activity

内容的提问来源于stack exchange,提问作者Riccoh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 02:27:02