前言
今日项目中有这样一个需求,需要一套类似与目前所有业务逻辑的新应用,基于框架、数据模板都相同,但是对外提供内容不同,所以必须有两个入口(看起来是两个app),因此经过技术评审后决定还是使用同一工程,但是两个入口。其中实现问题不大,主要是activity栈的管理,默认情况下同一应用启动的activity都会在同一个栈中,这样就会发生如果打开两个入口后,其中两种模式下的activity都会混在一起,不能达到业务区分的效果。这篇重点介绍自定义管理activity栈的一种方式。
大纲
1.双入口实现
2.activity栈管理
3.activity栈配置
4.其他
正文
1.双入口实现
主要是对AndroidManifest.xml进行简单设置,假设有两个入口,分别为AppA和AppB,其中他们各有两个activity(A1、A2;B1、B2),将A1和B1分别设为两个启动的activity,并指定栈为包名.a和包名.b,即设置taskAffinity。如下所设置
<!--App A-->
<activity android:name=".appA.A1Activity"
android:launchMode="singleTop"
android:label="@string/app_nameA"
android:icon="@mipmap/ic_launcher"
android:roundIcon="@mipmap/ic_launcher_round"
android:taskAffinity="com.zidian.myactivitystackmanager.a">
<intent-filter>
<action android:name="and
双入口App与自定义Activity栈管理

本文介绍如何在Android应用中实现双入口及自定义管理Activity栈的方法,通过设置不同的taskAffinity来区分两个入口的Activity栈,避免混淆。并详细说明了自定义ActivityStackManager类的实现,确保不同入口的Activity栈独立运作。
最低0.47元/天 解锁文章
384

被折叠的 条评论
为什么被折叠?



