Android同一应用双入口栈管理

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

前言

今日项目中有这样一个需求,需要一套类似与目前所有业务逻辑的新应用,基于框架、数据模板都相同,但是对外提供内容不同,所以必须有两个入口(看起来是两个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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值