一个应用,两个页面,A用下面的方法启动B,类似小程序,移除B,为什么程序会被杀死?

一个Android应用,两个Activity A和B,A用TaskAffinity和FLAG_ACTIVITY_NEW_TASK的方式启动B,Home任务列表中显示两个界面(类似微信小程序),移除B,为虽然在最近任务中能看到Activity A,但点击之后会重新构造(相当于杀死了程序)。

startActivity B:

Intent intent = new Intent(this,BActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);

Activity B manifast:

<activity
    android:name=".BActivity"
    android:taskAffinity=".BTask">
</activity>

如图所示

问题参考:https://www.jianshu.com/p/a8f695841008

我希望在最近任务列表中移除Activity B后,Activity A不受影响。

魅族,小米,Android 模拟器里都是正常的,华为和一加就会杀死程序。

大家有什么方法或者想法,或者给我一点建议?

不用想了,无解的,别提微信,微信在白名单里面

你搜下launchMode去了解下singleTask,singleTop,standard、等四种启动模式的区别
有singleTask的话,singleTask之前的页面都会被清掉

、移除Activity B后,Activity A不受影响
有几种实现方式:
1.A,B都设置成standard,并去掉这句intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
2,A,B都设置成singleTask
值得注意的是,singleTask时,有可能startActivity(intent);你穿进去的intent数据Activity接收不到,所以需要用静态变量或者EventBus等传输数据

我想应该是包名的问题,两个activity包名其实是一样的,划掉B把这个包名的都kill掉了