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

OFF*_*ind 5 android android-intent launchmode android-activity

我需要launchMode根据我的应用状态用不同的方式调用活动。在一种情况下应该是singleInstance,在另一种情况下singleTask。我知道如何launchModeAndroidManifest中进行设置,但是由于它应该是动态属性,因此我必须从代​​码中进行设置。我以为可以在开始活动之前向意图添加一些特定的标志,但是我发现只有singleTop标志。那么有什么办法可以解决这个问题?谢谢

OFF*_*ind 4

经过一番调查后,我发现不可能以这种方式做到这一点。但好消息是我有一些解决方法:

您必须创建两个Activities,每个都有相应的launchModes。一种Activity是真实的Activity,里面有你的代码,另一种只会ActivityonCreate()方法中调用 main ,但由于它需要launchMode,所以 mainActivity将以该模式启动。不是很好,但完全有效的解决方案。

之后,不要尝试使用意图标志打开您的意图,而是根据您需要的启动模式Activity放入意图。classActivity