android – 以编程方式设置活动启动模式

我需要根据我的app状态调用不同launchMode的活动.在一种情况下,它应该是singleInstance,在其他情况下 – singleTask.我知道如何在AndroidManifest中设置launchMode,但由于它应该是动态属性,我必须从代​​码中完成.我想,在开始活动之前我可以为intent添加一些特定的标志,但我发现只有singleTop标志.那么有什么方法可以解决这个问题吗?
谢谢

解决方法:

经过一些调查后,我注意到以这种方式做到这一点是不可能的.但好消息是我有一些解决方法:

您必须创建两个活动,每个活动都有相应的launchModes.
一个Activity是你内部代码的真实Activity,另一个是onCreate()方法中只调用main Activity,但由于它需要launchMode,因此将使用该模式启动main Activity.不是很好,但完全有效的解决方案.

之后,不是尝试使用intent标志打开Activity,而是根据您需要的launchMode输入Activity的intent类.

上一篇:Android TaskAffinity解析


下一篇:android – 具有singleTask启动模式的活动及其在后台堆栈中的位置