C# Can';t并行启动标记为MainLauncher的活动
我正在从事一个Xamarin Android项目,我希望将活动作为不同的起点(例如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,返回菜单屏幕(不关闭它),同
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问题: