无法并行启动标记为 MainLauncher 的活动
Can't start activities marked as MainLauncher in parallel
我正在做一个 Xamarin Android 项目,我想在其中将活动作为不同的起点(例如 app1
和 app2
)。
为实现这一点,我已将选项 "MainLauncher = true" 添加到 似乎 一开始工作正常的那些活动的 Activity-属性:
[Activity(
Label = "App1",
Icon = "@drawable/app1_app_icon",
MainLauncher = true
)]
现在的问题是,如果我打开 app1
,返回菜单屏幕 - 不关闭它 - 同时打开 app2
,已经 运行显示 app1
。 App2
未启动。这不是我所期望的。
有没有办法让它以 app2
也能在 app1
是 运行 的同时启动的方式工作?
我知道可以多次启动一个 activity 但这不是我想要的。每个 activity 只能启动一次。
解决方案是定义一个名为 TaskAffinity
的附加属性,定义应该打开的 activity。
对于 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"
)]
还有另一个处理 TaskAffinity 主题的 Whosebug 问题:
Two main activities in AndroidManifest.xml
我能找到的关于 TaskAffinity 的最佳解释也是一个 Whosebug 问题:
Android Task Affinity Explanation
我正在做一个 Xamarin Android 项目,我想在其中将活动作为不同的起点(例如 app1
和 app2
)。
为实现这一点,我已将选项 "MainLauncher = true" 添加到 似乎 一开始工作正常的那些活动的 Activity-属性:
[Activity(
Label = "App1",
Icon = "@drawable/app1_app_icon",
MainLauncher = true
)]
现在的问题是,如果我打开 app1
,返回菜单屏幕 - 不关闭它 - 同时打开 app2
,已经 运行显示 app1
。 App2
未启动。这不是我所期望的。
有没有办法让它以 app2
也能在 app1
是 运行 的同时启动的方式工作?
我知道可以多次启动一个 activity 但这不是我想要的。每个 activity 只能启动一次。
解决方案是定义一个名为 TaskAffinity
的附加属性,定义应该打开的 activity。
对于 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"
)]
还有另一个处理 TaskAffinity 主题的 Whosebug 问题:
Two main activities in AndroidManifest.xml
我能找到的关于 TaskAffinity 的最佳解释也是一个 Whosebug 问题:
Android Task Affinity Explanation