C# Can';t并行启动标记为MainLauncher的活动

C# Can';t并行启动标记为MainLauncher的活动,c#,android,xamarin,xamarin.android,C#,Android,Xamarin,Xamarin.android,我正在从事一个Xamarin Android项目,我希望将活动作为不同的起点(例如app1和app2)。 为了实现这一点,我在这些活动的Activity属性中添加了选项“MainLauncher=true”,这些活动在开始时似乎运行良好: [Activity( Label = "App1", Icon = "@drawable/app1_app_icon", MainLauncher = true )] 现在的问题是,如果我打开app1,返回菜单屏幕(不关闭它),同

我正在从事一个Xamarin Android项目,我希望将活动作为不同的起点(例如
app1
app2
)。 为了实现这一点,我在这些活动的Activity属性中添加了选项“MainLauncher=true”,这些活动在开始时似乎运行良好:

[Activity(
    Label = "App1", 
    Icon = "@drawable/app1_app_icon", 
    MainLauncher = true
)]
现在的问题是,如果我打开
app1
,返回菜单屏幕(不关闭它),同时打开
app2
,就会显示已经运行的
app1
<代码>应用程序2未启动。这不是我所期望的

是否有一种方法可以使它在运行
app1
的同时启动
app2


我知道可以多次启动一项活动,但这不是我想要的。每个活动只能启动一次。

解决方案是定义一个名为
TaskAffinity
的附加属性,定义应打开的活动

对于
App1
,您将定义:

[Activity(
    Label = "App1", 
    Icon = "@drawable/app1_app_icon", 
    MainLauncher = true,
    TaskAffinity = "com.company.project.actApp1"
)]
对于
App2
您只需将字符串更改为:

[Activity(
    Label = "App2", 
    Icon = "@drawable/app2_app_icon", 
    MainLauncher = true,
    TaskAffinity = "com.company.project.actApp2"
)]
还有一个stackoverflow问题涉及TaskAffinity的主题:

关于TaskAffinity的最佳解释也是一个stackoverflow问题: